Part Number Hot Search : 
MB86978 DNF32 A67L8318 M534002 MEDM2050 W52NK25Z DL400 MNR4G
Product Description
Full Text Search
 

To Download MK50H25 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  MK50H25 high speed link level controller advance data section 1 - features system clock rate up to 33 mhz (MK50H25 - 33), 25 mhz (MK50H25 - 25), or 16 mhz (MK50H25 - 16). data rate up to 20 mbps continuous (MK50H25 - 33) or up to 51 mbps bursted on chip dma control with programmable burst length. dma transfer rate of up to 13.3 mbytes/sec us- ing optional 5 sysclk dma cycle (150 ns) at 33 mhz sysclk. complete level 2 implementation compatible with x.25 lapb, isdn lapd, x.32, and x.75 protocols. handles all error recovery, sequencing, and s and u frame control. pin-for-pin and architecturally compatible with mk5025 (x.25/lapd), mk5027 (ccs#7) and mk5029(sdlc). buffer management includes: - initialization block - separate receive and transmit rings - variable descriptor ring and window sizes. separate 64-byte transmit and receive fifo. programmable transmit fifo hold-off water- mark. handles all hdlc frame formatting: - zero bit insertion and deletion - fcs (crc) generation and detection - frame delimiting with flags programmable single or extended address and control fields. five programmable timer/counters: t1, t3, tp, n1, n2 programmable minimum frame spacing on transmission (number of flags between frames). - programmable from 1 to 62 flags between frames selectable fcs (crc) of 16 or 32 bits, and passing of entire fcs to buffer. testing facilities: - internal loopback - silent loopback - optional internal data clock generation - self test. programmable for full or half duplex operation programmable watchdog timers for rclk and tclk (to detect absence of data clocks) option causing received data to effectively be odd-byte aligned, in addition to standard even- byte alignment. available in 52 pin plcc, 84 pin plcc(for use with external rom), or 48 pin dip packages. section 2 - introduction the sgs - thomson mk502h5 link level con- troller is a vlsi semiconductor device which pro- vides complete link level data communications control conforming to the 1984 and 1988 ccitt versions of x.25. the MK50H25 will perform frame formating including: frame delimiting with flags, transparency (so-called obit-stuffingo), error recovery by retransmission, sequence number control, s (supervisory) and u (unnumbered) frame control, plus fcs (crc) generation and detection. the MK50H25 also supports x.75 and x.32 (with its xid frame support), as well as sin- gle channel isdn lapd (with its support of ui frames and extended addressing capabilities). july 1994 dip48 plcc 52 1/64
for added flexibility a transparent mode provides an hdlc transport mechanism without link layer support. this flexible transparent mode may be easily entered and exited without affecting the x.25 link status or the link state variables kept by the MK50H25. in this mode no protocol process- ing is done and it is up to the user to take care of the upper level software. single or extended ad- dress field filtering and control field handling are optionally supported within the transparent mode. one of the outstanding features of the MK50H25 is its buffer management which includes on-chip dual channel dma. this feature allows users to receive and transmit multiple data frames at a time. (a conventional serial communications con- trol chip plus a separate dma chip would handle data for only a single block at a time.) the MK50H25 will move multiple blocks of receive and transmit data directly into and out of memory through the host's bus. a possible system con- figuration for the MK50H25 is shown in figure 1. the MK50H25 may be used with any of several popular 16 and 8 bit microprocessors, such as 68020, 68000, 6800, z8000, z80, 8086, 8088, 80186, 80286, 80386sx, etc. the MK50H25 may be operated in either full or half duplex mode. in half duplex mode, the rts and cts modem control pins are provided. in full duplex mode, these pins become user program- mable i/o pins. all signal pins on the MK50H25 are ttl compatible. this has the advantage of making the MK50H25 independent of the physical interface. as shown in figure 1, line drivers and receivers are used for electrical connection to the physical layer. description (continued) vss-gnd dal07 dal06 dal05 dal04 dal03 dal02 dal01 dal00 read intr dali dalo das bmo, byte , busre l bmi, busako hold, busrq ale, as cs adr ready reset vss-gnd 24 hlda 1 2 3 4 5 6 7 8 9 10 11 12 13 14 48 47 46 45 44 43 42 41 40 39 38 37 36 23 22 21 20 19 18 17 16 15 35 34 33 32 31 30 29 28 27 26 25 tclk a18 a19 a20 a21 a22 a23 rd dsr, cts td sysclk rclk dtr, rts vcc (+5v) dal08 dal09 dal10 dal11 dal12 dal13 dal14 dal15 a16 a17 m k 5 0 h 2 5 dip48 pin connection (top view) MK50H25 2/64
vss dal07 dal06 dal05 dal04 dal03 dal02 dal01 dal00 read intr dali dalo das 8 7 1 52 47 46 34 33 21 20 bmo/byte/busrel no connect bm1/busako hold/busrq ale/as hlda cs adr ready reset vss(gnd) tclk no connect dtr/rts rclk sysclk td dsr/cts rd a23 no connect a22 a21 a20 a19 a18 a17 a16 dal15 dal13 dal14 vcc dal08 dal09 dal10 dal11 dal12 no connect MK50H25q plcc52 pin connection (top view) MK50H25 3/64
signal name pin(s) type description dal<15:00> 2-9 40-47 [2-10 44-51] io/3s the time multiplexed data/address bus. during the address portion of a memory transfer, dal<15:00> contains the lower 16 bits of the memory address. during the data portion of a memory transfer, dal<15:00> contains the read or write data, depending on the type of transfer. read 10 [11] io/3s read indicates the type of operation that the bus controller is performing during a bus transaction. read is driven by the MK50H25 only while it is the bus master. read is valid during the entire bus transaction and is tristated at all other times. MK50H25 as a bus slave : read = high - data is placed on the dal lines by the chip. read = low - data is taken off the dal lines by the chip. MK50H25 as a bus master : read = high - data is taken off the dal lines by the chip. read = low - data is placed on the dal lines by the chip. intr 11 [12] o/od interrupt is an attention interrupt line that indicates that one or more of the following csr0 status flags is set: miss, merr, rint, tint or pint. interrupt is enabled by csr0<09>, inea=1. dali 12 [13] o/3s dal in is an external bus transceiver control line. dali is driven by the MK50H25 only while it is the bus master. dali is asserted by the MK50H25 when it reads from the dal lines during the data portion of a read transfer. dali is not asserted during a write transfer. dalo 13 [14] o/3s dal out is an external bus transceiver control line. dalo is driven by the MK50H25 only while it is the bus master. dalo is asserted by the MK50H25 when it drives the dal lines during the address portion of a read transfer or for the duration of a write transfer. das 14 [15] io/3s data strobe defines the data portion of a bus transaction. by definition, data is stable and valid at the low to high transition of das. this signal is driven by the MK50H25 while it is the bus master. during the bus slave operation, this pin is used as an input. at all other times the signal is tristated. bmo byte busrel 15 [16] io/3s i/o pins 15 and 16 are programmable through csr4. if bit 06 of csr4 is set to a one, pin 15 becomes input busrel and is used by the host to signal the MK50H25 to terminate a dma burst after the current bus transfer has completed. if bit 06 is clear then pin 15 is an output and behaves as described below for pin 16. bm1 busako 16 [18] o/3s pins 15 and 16 are programmable through bit 00 of csr4 (bcon). if csr4<00> bcon = 0, i/o pin 15 = bmo (o/3s) i/o pin 16 = bm1 (o/3s) byte mask<1:0> indicates the byte(s) on the dal to be read or written during this bus transaction. MK50H25 drives these lines only as a bus master. MK50H25 ignores the bm lines when it is a bus slave. byte selection is done as outlined in the following table. bm1 bm0 type of transfer low low entire word low high upper byte (dal<15:08>) high low lower byte (dal<07:00>) high high none table 1 : pin description legend: i input only o output only io input / output 3s 3-state od open drain (no internal pull-up) note: pin out for 52 pin plcc is shown in brackets. MK50H25 4/64
table 1: pin description (continued) signal name pin(s) type description if csr4<00> bcon = 1, i/o pin 15 = byte (o/3s) i/o pin 16 = busako(o) byte selection is done using the byte line and dal<00> latched during the address portion of the bus transaction. MK50H25 drives byte only as a bus master and ignores it when a bus slave. byte selection is done as outlined in the following table. byte dal<00> type of transfer low low entire word low high illegal condition high low lower byte high high upper byte busako is a bus request daisy chain output. if MK50H25 is not requesting the bus and it receives hlda, busako will be driven low. if MK50H25 is requesting the bus when it receives hlda, busako will remain high note: all transfers are entire word unless the MK50H25 is configured for 8 bit operation. hold busrq 17 [19] io/od pin 17 is configured through bit 0 of csr4. if csr4<00> bcon = 0, i/o pin 17 = hold hold request is asserted by MK50H25 when it requires a dma cycle, if hlda is inactive, regardless of the previous state of the hold pin. hold is held low for the entire ensuing bus transaction. if csr4<00> bcon = 1, i/o pin 17 = busrq busrq is asserted by MK50H25 when it requires a dma cycle if the prior state of the busrq pin was high and hlda is inactive. busrq is held low for the entire ensuing bus transaction. ale as 18 [20] o/3s the active level of address strobe is programmable through csr4. the address portion of a bus transfer occurs while this signal is at its asserted level. this signal is driven by MK50H25 while it is the bus master. at all other times, the signal is tristated. if csr4<01> acon = 0, i/o pin 18 = ale address latch enable is used to demultiplex the dal lines and define the address portion of the transfer. as ale, the signal transitions from high to low during the address portion of the transfer and remains low during the data portion. if csr4<01> acon = 1, i/o pin 18 = as as as, the signal pulses low during the address portion of the bus transfer. the low to high transition of as can be used by a slave device to strobe the address into a register. as is effectively the inversion of ale. hlda 19 [21] i hold acknowledge is the response to hold. when hlda is low in response to MK50H25's assertion of hold, the MK50H25 is the bus master. hlda should be deasserted only after hold has been released by the MK50H25. cs 20 [22] i chip select indicates, when low, that the MK50H25 is the slave device for the data transfer. cs must be valid throughout the entire transaction. adr 21 [23] i address selects the register address port or the register data port. it must be valid throughout the data portion of the transfer and is only used by the chip when cs is low. adr port low register data port high register address port ready 22 [24] io/od when the MK50H25 is a bus master, ready is an asynchronous acknowledgement from the bus memory that memory will accept data in a write cycle or that memory has put data on the dal lines in a read cycle. MK50H25 5/64
table 1: pin description (continued) signal name pin(s) type description as a bus slave, the MK50H25 asserts ready when it has put data on the dal lines during a read cycle or is about to take data from the dal lines during a write cycle. ready is a response to das and it will be released after das or cs is negated. reset 23 [25] i reset is the bus signal that will cause MK50H25 to cease operation, clear its internal logic and enter an idle state with the power off bit of csr0 set. tclk 25 [28] i transmit clock. a 1x clock input for transmitter timing. td changes on the falling edge of tclk. the frequency of tclk may not be greater than the frequency of syscl dtr rts 26 [29] io data terminal ready, request to send. modem control pin. pin 26 is configurable through csr5. this pin can be programmed to behave as output rts or as programmable io pin dtr. if configured as rts, the MK50H25 will assert this pin if it has data to send and throughout the transmission of a signal unit. rclk 27 [30] i receive clock. a 1x clock input for receiver timing. rd is sampled on the rising edge of rclk. the frequency of rclk may not be greater than the frequency of sysclk. sysclk 28 [31] i system clock. system clock used for internal timing of the MK50H25. sysclk should be a square wave, of frequency up to 33 mhz. td 29 [32] o transmit data. transmit serial data output. dsr cts 30 [33] io data set ready, clear to send. modem control pin. pin 30 is configurable through csr5. this pin can be programmed to behave as input cts or as programmable io pin dsr. if configured as cts, the MK50H25 will transmit all ones while cts is high. rd 31 [34] i receive data. received serial data input. a<23:16> 32-39 [37-43] o/3s address bits <23:16> used in conjunction with dal<15:00> to produce a 24 bit address. MK50H25 drives these lines only as a bus master. a23-a20 may be driven continuously as described in the csr4<7> bae bit. vss-gnd 1,24 [1,26] ground pins vcc 48 [52] power supply pin +5.0 vdc + 5% section 3 operational description the sgs-thomson MK50H25 multi-logical link communications controller device is a vlsi prod- uct intended for high performance data communi- cation applications requiring x.25 link level con- trol. the MK50H25 will perform all frame formatting, such as: frame delimiting with flags, fcs (crc) generation and detection, and zero bit insertion and deletion for transparency. the MK50H25 also handles all supervisory (s) and unnumbered (u) frames (see tables a & b). the MK50H25 also includes a buffer management mechanism that allows the user to transmit and/or receive multiple frames for each active channel or dlci. contained in the buffer management is an on-chip dual channel dma: one channel for re- ceive and one channel for transmit. the MK50H25 can be used with any popular 16 or 8 bit microprocessor. a possible system con- figuration for the MK50H25 is shown in figure 1. this document assumes that the processor has a byte addressable memory organization. the MK50H25 will move multiple blocks of re- ceive and transmit data directly in and out of memory through the host's bus. the MK50H25 may be operated in full or half du- plex mode. in half duplex mode the rts and cts modem control pins are provided. in full du- plex mode, these pins become user programma- ble i/o pins. all signal pins on the MK50H25 are ttl compat- ible. this has the advantage of making the MK50H25 independent of the physical interface. as shown in fig. 1, line drivers and receivers are used for electrical connection to the physical layer. MK50H25 6/64
host processor (68000, 80186, z8000, etc) 16-bit data bus including 24-bit address and bus control memory (multiple data blocks) MK50H25 rd td line drivers and receivers (such as rs-449, rs-232c, v.35) data comm. connector electrical i/o (such as rs-232c, rs-423, rs-422) tclk rclk dsr, cts dtr, rts figure 1: possible system configuration for thr MK50H25 MK50H25 7/64
dali dalo hlda hold ale, as bm0 bm1 das read intr adr ready dtr, rts dsr, cts cs firmware rom micro controller timers dma controller control / status registers 0 - 5 sysclk internal bus receiver fifo transmitter fifo receiver transmitter loopback test rd rclk tclk td vss - gnd reset vcc dal <15:00> a <23:16> figure 2: MK50H25 simplified block diagram MK50H25 8/64
3.1 functional blocks refer to the block diagram in figure 2. the MK50H25 is primarily initialized and control- led through six 16-bit control and status regis- ters (csr0 thru csr5). the csr's are accessed through two bus addressable ports, the register address port (rap), and the register data port (rdp). the MK50H25 may also generate an in- terrupt(s) to the host. these interrupts are en- abled and disabled through csr0. the on-chip microcontroller is used to control the movement of parallel receive and transmit data, and to handle the address field filtering. 3.1.1 microcontroller the microcontroller controls all of the other blocks of the MK50H25. the microcontroller performs frame processing and protocol processing. all primitive processing and generation is also done here. the microcode rom contains the control program of the microcontroller. 3.1.2 receiver serial receive data comes into the receiver (fig- ure 2). the receiver is responsible for: 1. leading and trailing flag detection. 2. deletion of zeroes inserted for transparency. 3. detection of idle and abort sequences. 4. detection of good and bad fcs (crc). 5. monitoring receiver fifo status. 6. detection of receiver over-run. 7. odd byte detection. note: if frames are received that have an odd number of bytes then the last byte of the frame is said to be an odd byte. 8. detection of non-octet aligned frames. such frames are treated as invalid (ccitt x.25 sec 2.3.5.3) 3.1.3 transmitter the transmitter is responsible for: 1. serialization of outgoing data. 2. generating and appending the fcs (crc). 3. framing outgoing frame with flags. 4. zero bit insertion for transparency. 5. transmitter under-run detection. 6. transmission of odd byte. 7. rts/cts control. 3.1.4 frame check sequence or cyclic redundancy check the fcs (crc) on the transmitter or receiver may be either 16 bit or 32 bit, and is user select- able. for full duplex operation, both the receiver and transmitter have individual fcs computation circuits. the characteristics of the fcs are: transmitted polarity: inverted transmitted order: high order bit first pre-set value: all 1's polynomial 16 bit: x 16 +x 12 +x 5 +1 remainder 16 bit (if received correctly): high order bit-->0001 1101 0000 1111 polynomial 32 bit: x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 + x 8 +x 7 +x 5 +x 4 +x 2 +x+1 remainder 32 bit (if received correctly): high order bit-->1100 0111 0000 0100 1101 1101 0111 1011 3.1.5 receive fifo the receive fifo buffers the data received by the receiver. this performs two major functions. first, it resynchronizes the data from the receive clock to the system clock. second, it allows the microcontroller time to finish whatever it may be doing before it has to process the received data. the receive fifo holds the data from the receiver without interrupting the microcontroller for service until it contains enough data to reach the water- mark level, or an end of frame is received. this watermark level can be programmed in csr4 (fwm) to occur when the fifo contains at least 18 or more bytes; 34 or more bytes; or 50 or more bytes. this programmability , along with the programmable burst length of the dma controller, enables the user to define how often and for how long the MK50H25 must use the host bus. for more information, see csr4. for example, if the watermark level is set at 34 bytes and the burst length is limited to 8 word transfers at a time, the MK50H25 will request control of the host bus as soon as 34 bytes are received and again after every 16 subsequent bytes. 3.1.6 transmit fifo the transmit fifo buffers the data to be trans- mitted by the MK50H25. this also performs two major functions. first, it resynchronizes the data from the system clock to the transmit clock. sec- ond, it allows the microcontroller and dma con- troller to burst read data from the host's memory buffers; making both the MK50H25 and the host bus more efficient. the transmit fifo has a watermark scheme simi- lar to the one described for the receive fifo above, and uses the same fwm value selections in csr4 for the watermark. once filled to within MK50H25 9/64
fwm of being full (by dma from tx buffer in shared memory), the transmit fifo will not inter- rupt the microcontroller until it empties enough to fall below the watermark level. the transmit fifo also has a selectable transmit hold-off watermark mechanism to determine when data transmission will begin once data has been put in the transmit fifo. the transmit hold-off watermark is enabled by setting bit 10 (xhold) in csr4. the selection of fwm (fifo watermark) also in csr4 determines corre- sponding appropriate values of transmit hold-off so that the device cannot be inadvertently pro- grammed to have conflicting watermarks. for fwm settings of 9, 17, and 25 words, the trans- mit hold-off watermarks are 19, 11, and 3 words respectively. for example, if fwm is set at 9 words and the transmit hold-off watermark is enabled, the MK50H25 will not begin transmitting until more than 19 words have been placed in the transmit fifo or an end-of-frame has been transmitted. this greatly reduces the chances of transmitter underrun that could be possible at high data rates (ie: tclk > 0.15 x sysclk) if transmit hold-off is not selected (causing transmission to begin as soon as 1 byte is transferred to the tx fifo). 3.1.7 dma controller the MK50H25 has an on-chip dma controller cir- cuit. this allows it to access memory without re- quiring host software intervention. whenever the MK50H25 requires access to the host memory it will negotiate for mastership of the bus. upon gaining control of the bus the MK50H25 will begin transferring data to or from memory. the MK50H25 will perform memory transfers until either it has nothing more to transfer, it has reached its dma burst limit (user programmable), or the busrel pin is driven low. in any case, it will complete all bus transfers before releasing bus mastership back to the host. if during a memory transfer, the memory does not respond within 256 sclk cycles, the MK50H25 will re- lease ownership of the bus immediately and the merr bit will be set in csr0. the dma burst limit can be programmed by the user through csr4. in 16 bit mode the limit can be set to 1 word, 8 words, or unlimited word transfers. in 8 bit mode,it can be set to 2 bytes, 16 bytes, or un- limited byte transfers. for high speed data lines (i.e. > 1 mbps) a burst limit of 8 words or 16 bytes is suggested to allow maximum throughput. the byte ordering of the dma transfers can be programmed to account for differences in proces- sor architectures or host programming languages. byte ordering can be programmed separately for data and control information. data information is defined as all contents of data buffers; control in- formation is defined as anything else in the shared memory space (i.e. initialization block, de- scriptors, etc). for more information see section 4.1.2.5 on control status register 4. 3.1.8 bus slave circuitry the MK50H25 contains a bank of internal con- trol/status registers (csr0-5) which can be ac- cessed by the host as a peripheral. the host can read or write to these registers like any other bus slave. the contents of these registers are listed in section 4 and bus signal timing is described in figures 9 and 10. 3.2 buffer management overview refer to fig. 3. 3.2.1 initalization block chip initialization information is located in a block of memory called the initialization block. the in- itialization block consists of 25 contiguous words of memory starting on a word boundary. this memory is assembled by the host, and is ac- cessed by the MK50H25 during initialization. the initialization block is comprised of: a. mode of operation. b. frame address values. c. n1 counter (max frame length) value. d. timer preset values e. location and size of receive and transmit de- scriptor rings. f. location and size of xid/test buffers. g. location of status buffer. h. error counters. 3.2.2 the circular queue the basic organization of the buffer management is a circular queue of tasks in memory called de- scriptor rings. there are separate rings to de- scribe the transmit and receive operations. up to 128 buffers may be queued-up on a descriptor ring awaiting execution by the MK50H25. the descriptor ring has a descriptor assigned to each buffer. each descriptor holds a pointer for the starting address of the buffer, and holds a value for the length of the buffer in bytes. each descriptor also contains two control bits called owna and ownb, which denote whether the MK50H25, the host, or the i/o accelera- tion processor ( if present ) oownso the buff- er. for transmit, when the MK50H25 owns the buffer, the MK50H25 is allowed and commanded to transmit the buffer. when the MK50H25 does not own the buffer, it will not transmit that buffer. for receive, when the MK50H25 owns a buffer, it may place received data into that buffer. con- versely, when the MK50H25 does not own a re- ceive buffer, it will not place received data into that buffer. the MK50H25 buffer management mechanism will handle frames which are longer than the length of an individual buffer. this is done by a chaining method which utilizes multiple buffers. the MK50H25 tests the next descriptor in the de- MK50H25 10/64
scriptor ring in a olook aheado manner. if the frame is too long for one buffer, the next buffer will be used after filling the first buffer; that is, ochainedo. the MK50H25 will then olook aheado to the next buffer, and chain that buffer if neces- sary, and so on.the operational parameters for the buffer management are defined by the user in the initialization block. the parameters defined include the basic mode of operation, the number of entries for the transmitter and receiver descrip- tor rings, frame address field, etc. the starting address for the initialization block, iadr, is de- fined in the csr2 and csr3 registers inside the MK50H25. 3.2.3 frame format the frame format supported by the MK50H25 is shown below. each frame may consist of a pro- grammable number of leading flag patterns (01111110), an address field, a control field, an information field, an fcs (crc) of either 16 or 32 bits, and a trailing flag pattern. the number of leading flags transmitted is programmable through the mode register in the initialization block. received frames may have as few as one flag between adjacent frames transmitted first 3.2.4 the command/response repertoire the command/response repertoire of the MK50H25 is shown in tables a and b. this set conforms to the 1984 & 1988 ccitt x.25, plus support of xid, test, and ui frames conforming to isdn lapd. the MK50H25 will process the in- formation, supervisory, and unnumbered frames shown in tables a and b, and will handle the a and c fields for all i and ui frames. the symbols and definitions for the frame types are: name definition i information frame ui unnumbered information frame rr receiver ready rnr receiver not ready rej reject frmr frame reject ua unnumbered acknowledge sabm set asynchronous balance mode disc disconnect dm disconnect mode test link test frame xid exchange identification ac info f 8/16 8/16 8*n 8 f fcs 8 16/32 MK50H25 11/64
table a - MK50H25 command/response repertoire modulo 8 operation format command response encoding lsb msb 12345678 information transfer i i 0 n(s) p n(r) supervisory rr rr 1 0 0 0 p/f n(r) rnr rnr 1 0 1 0 p/f n(r) rej rej 1 0 0 1 p/f n(r) unnumbered * ui * ui 1100p/f000 sabm 1 1 1 1 p 1 0 0 dm 1111f000 disc 1 1 0 0 p 0 1 0 ua 1100f110 frmr 1 1 1 0 f 0 0 1 * xid * xid 1 1 1 1 p/f 1 0 1 test test 1 1 0 0 p/f 1 1 1 table b - MK50H25 command/response repertoire modulo 128 operation format command response encoding lsb msb 1 2 3 4 5 6 7 8 9 10-16 information transfer i i 0 n(s) p n(r) supervisory rr rr 1 0 0 0 0 0 0 0 p/f n(r) rnr rnr 1 0 1 0 0 0 0 0 p/f n(r) rej rej 1 0 0 1 0 0 0 0 p/f n(r) unnumbered sabme 1 1 1 1 p 1 1 0 n/a all others all others same repertoire and encoding as for modulo 8 notes: 1. n(s) = transmitter send sequence number 2. n(r) = transmitter receive sequence number 3. p/f = poll bit when issued as a command. final bit when issued as a response. 4. n/a = not applicable. all unnumbered frames have only an 8 bit control field for modulo 128 or modulo 8 operation. *xid and ui frames can be enabled individually by setting the appropriate bits in csr2. MK50H25 12/64
receiver descriptor rings descriptor 0 buffer stat us buffer address buff er size buffer msg count descriptor 1 descriptor m transmit descriptor rings descriptor 0 buffer status buffer address buff er size buffer msg count descriptor 1 descriptor n buffer n buffer 1 buffer 0 tran smit buffer buffer m buffer 1 buffer 0 receive buffer csr 2, csr3 pointer to initializati on block initializati on block mode timer values rx descriptor tx descriptor pointer point er frame address fields status buffer address status buffer error counters xid/test transmit descriptor pointer xid/test receive descriptor pointer receive buffer transmit buffer xid/t est xid/test figure 3: MK50H25 memory management structure MK50H25 13/64
section 4 programming specification this section defines the control and status reg- isters and the memory data structures required to program the MK50H25. 4.1 control and status registers there are six control and status registers (csr's) resident within the MK50H25. the csr's are accessed through two bus address- able ports, an address port (rap), and a data port (rdp), thus requiring only two locations in the system memory or i/o map. 4.1.1 a ccessing the control & status registers the csr's are read (or written) in a two step op- eration. the address of the csr is written into the address port (rap) during a bus slave transac- tion. during a subsequent bus slave transaction, the data being read from (or written into) the data port (rdp) is read from (or written into) the csr selected in the rap. once written, the address in rap remains unchanged until rewritten or upon a bus reset. a control i/o pin (adr) is provided to distinguish the address port from the data port. adr port l register data port (rdp) h register address port (rap) 4.1.1.1 register address port (rap) 00000000 b m 8 000 csr <2:0> 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 h b y e t bit name description 15:08 reserved must be written as zeroes 07 bm8 when set, places chip into 8 bit mode. csr's, init block, and data transfers are all 8 bit transfers; this provides compatibility with 8 bitmicroprocessors. when clear, all transfers are 16 bit transfers. this bit must be set to the same value each time it is written, changing this bit during normal operation will achieve unexpected results. bm8 is read/write and cleared on bus reset. 06:04 reserved must be written as zeroes 03:01 cs3<2:0> csr address select bits. read/write. selects the csr to be accessed through the rdp. rap is cleared by bus reset. csr<2:0> csr 0 csr0 1 csr1 2 csr2 3 csr3 4 csr4 5 csr5 00 hbyte determines which byte is addressed for 8 bit mode. if set, the high byte of the register referred to by csr<2:0> is addressed, otherwise the low byte is addressed. this bit is only meaningful in 8 bit mode and must be written as zero if bm8=0. hbyte is read/write and cleared on bus reset. MK50H25 14/64
csr data 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 4.1.1.2 register data port (rdp) bit name description 15:00 csr data writing data to the rdp loads data into the csr selected by rap. reading the data from rdp reads the data from the csr selected in rap. MK50H25 15/64
4.1.2 control and status register definition 4.1.2.1 control and status register 0 (csr0) rap<3:1> = 0 bit name description 15 tdmd transmit demand, when set, causes the MK50H25 access the transmit descriptor ring without waiting for the transmit poll time in- terval to lapse. tdmd need not be set to transmit a frame, it merely hastens the MK50H25's response to a transmit descriptor ring entry insertion by the host. tdmd is written with one only and cleared by the MK50H25 microcode after it is used. it may read as a o1o for a short time after it is written because the microcode may have been busy when tdmd was set. it is also cleared by bus reset. writing a o0o in this bit has no effect. 14 stop stop, when set, indicates that MK50H25 is operating in the stopped phase of operation. all external activity is disabled and internal logic is reset. MK50H25 remains inactive except for primitive processing until a start primitive is issued. stop is read only and set by bus reset or a stop primitive. writing to this bit has no effect. 13 dtx disable transmitter ring prevents the MK50H25 from further access to the transmitter descriptor ring. no transmissions are attempted after finishing transmission of any frame in transmission at the time of dtx being set. txon acknowledges changes to dtx, see below. dtx is read/write. 12 drx disable the receiver prevents the MK50H25 from further access to the receiver descriptor ring. no received frames are accepted after fin- ishing reception of any frame in reception at the time of drx being set. if drx is set while a data link is established, the MK50H25 will go into the local busy state and will send an rnr response frame to the re- mote station. upon clearing drx the MK50H25 will send a rr re- sponse frame. rxon acknowledges changes to drx, see description of rxon. drx is read/write. 11 txon transmitter on indicates that the transmit ring access is enabled. txon is set as the start primitive is issued if the dtx bit is o0o or after- ward as dtx is cleared. txon is cleared upon recognition of dtx be- ing set, by sending a stop primitive in csr1, or by a bus reset. if txon is clear, the host may modify the transmit descriptor ring en- tries regardless of the state of the owna bits. txon is read only; writing to this bit has no effect. 10 rxon receiver on indicates that the receive ring access is enabled. rxon is set as the start primitive is issued if the drx bit is o0o or after- ward as drx is cleared. rxon is cleared upon recognition of drx being set, by sending a stop primitive in csr1, or by a bus reset. if rxon is clear, the host may modify the receive descriptor ring en- tries regardless of the state of the owna bits. rxon is read only; writing to this bit has no effect. 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 0 r i n t t i n t p i n t t u r m i s s m e r r r o r i n t r r x o n t x o n i n e a s t o p d t x d r x p t d m d MK50H25 16/64
09 inea interrupt enable allows the intr i/o pin to be driven low when the interrupt flag is set. if inea = 1 and intr = 1 the intr i/o pin will be low. if inea = 0 the intr i/o pin will be high, regardless of the state of the interrupt flag. inea is read/write set by writing a o1o into this bit and is cleared by writing a o0o into this bit, by bus re- set, or by issuing a stop primitive. inea may not be set while in the stopped phase. 08 intr interrupt flag indicates that one or more of the following interrupt causing conditions has occurred: miss, merr, rint, tint, pint, tur or ror. if inea = 1 and intr = 1 the intr i/o pin will be low. intr is read only, writing this bit has no effect. intr is cleared as the specific interrupting condition bits are cleared. intr is also cleared by bus reset or by issuing a stop primitive. 07 merr memory error is set when the MK50H25 is the bus master and ready has not been asserted within 256 sysclks (25.6 usec @ 10mhz) after asserting the address on the dal lines. when a mem- ory error is detected, the MK50H25 releases the bus, the receiver and transmitter are turned off, and an interrupt is generated if inea = 1. merr is read/clear only and is set by the chip and cleared by writing a o1o into the bit. writing a o0o has no effect. it is cleared by bus reset or by issuing a stop primitive. 06 miss missed frame is set when the receiver loses a frame because it does not own a receive buffer indicating loss of data. when miss is set, rxon is cleared and an interrupt will be generated if inea = 1. if miss is set while a data link is established, the MK50H25 will go into the local busy state and will send an rnr response frame to the re- mote station. upon clearing miss the MK50H25 will send a rr re- sponse frame. miss is read/clear only and is set by MK50H25 and cleared by writing a o1o into the bit. writing a o0o has no effect. it is also cleared by bus reset or by issuing a stop primitive. 05 ror receiver overrun indicates that the receiver fifo was full when the receiver was ready to input data to the receiver fifo. when ror occurs, the receive fifo will be flushed and the buffer(s) containing any part of the frame already received will be re-used by the next in- comming frame. therefore, the frame being received is lost, but is typi- cally recoverable through the protocol used. when ror is set, an in- terrupt is generated if inea = 1. ror is read/clear only and is set by MK50H25 and cleared by writing a o1o into the bit. writing a o0o has no effect. it is also cleared by bus reset or by issuing a stop primitive. 04 tur transmitter underrun indicates that the MK50H25 has aborted a frame since data was late from memory. this condition is reached when the transmitter and transmitter fifo both become empty while transmitting a frame. the frame in transmission at the time will be aborted. when tur is set, an interrupt is generated if inea = 1. tur is read/clear only and is set by MK50H25 and cleared by writing a o1o into the bit. writing a o0o has no effect. it is also cleared by bus reset or by issuing a stop primitive. 03 pint primitive interrupt is set after the chip updates the primitive register to issue a provider primitive. when pint is set, an interrupt is generated if inea =1. pint is read/clear only and is set by MK50H25 and cleared by writing a o1o into the bit. writing a o0o has no effect. it is also cleared by bus reset or by issuing a stop primitive. 02 tint transmitter interrupt is set after the chip updates an entry in the transmit descriptor ring. this occurrs when a transmitted i frame has been acknowledged by the remote station. when transmitting ui frames, or in transparent mode, tint is set upon completing transmis- sion of the frame. when tint is set, an interrupt is generated if inea = 1. tint is read/clear only and is set by the MK50H25 and MK50H25 17/64
cleared by writing a o1o into the bit. writing a o0o has no effect. it is also cleared by bus reset or by issuing a stop primitive. 01 rint receiver interrupt is set after the MK50H25 updates an entry in the receive descriptor ring. this occurs when the MK50H25 has suc- cessfuly received an i, ui, or frmr frame, and any good frame in transparent mode. when rint is set, an interrupt is generated if inea = 1. rint is read/clear only and is set by the MK50H25 and cleared by writing a o1o into the bit. writing a o0o has no effect. it is cleared by bus reset or by issuing a stop primitive. 00 0 this bit is read only and will always read as a zero. 4.1.2.2 control and status register 1 (csr1) rap <3:1> = 1 bit name description 15 uerr user primitive error is set by the MK50H25 when a primitive is issued by the user which is in conflict with the current status of the chip. uerr is read/clear only and is set by MK50H25 and cleared by writing a o1o into the bit. writing a o0o in this bit has no effect. it is also cleared by bus reset. 14 uav user primitive available is set by the user when a primitive is written into uprim. it is cleared by the MK50H25 after the primitive has been processed. this bit is also cleared by a bus reset. 13 uparm user parameter is written by the host in conjunction with the user primitives in uprim. this user parameter field provides information to the MK50H25 concerning the corresponding user primitive. for con- nect and reset primitives this field determines what the MK50H25 will do with frames in the transmit descriptor ring which have previously been sent but not acknowledged. if uparm = 0, these frames will be resent when the new link is established. if uparm = 1, these frames will be discarded and their owna bits cleared, releasing ownership back to the host. for other primitives uparm = 0 unless otherwise in- dicated. 12:08 uprim user primitive is written by the user, in conjunction with setting uav, to control the MK50H25 link procedures. the following primitives are available: 0 stop: causes MK50H25 to enter the stopped mode or phase. all dma activity ceases, the transmitter transmits all ones, and all received data is ignored. a stop primitive issued during transmission of a frame will cause the frame to be aborted as the transmitter outputs 1's. a stop primitive issued with uparm=1 will cause a software reset of the MK50H25 (equivalent to asserting the reset pin). 1 start: instructs the MK50H25 to exit the stopped mode and enter the disconnected phase, if uparm = 0. the descriptor rings are reset. the transmitter begis to output flags. if issued with uparm = 1 the MK50H25 will directly enter the information transfer phase (link con- nected).valid only in stopped mode or transparent mode. 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 uprim < 3:0 > pprim < 3:0 > u e r r u a v p a v p l o s t p p a r m 1 : 0 uparm <1:0> MK50H25 18/64
2 init: instructs the MK50H25 to read the initialization block from memory. valid only in the stopped mode or phase. this should be performed prior to the start primitive after a bus reset or power-up. 3 trans: instructs MK50H25 to enter the transparent mode of operation. data frames are transmitted and received out of the descriptor rings with no address and control fields prepended to the frames. if the prom bit is set in the protocol parameters register, then no address filtering is performed on received frames. transparent mode may be exited with a stop primitive or by a bus reset. exiting from transparent mode to the information transfer phase (link connected) is possible by issuing a start primitive with uparm = 1, or to the disconnected phase by issuing start with uparm = 0. 4 status request: instructs the MK50H25 to write the current chip status into the status buffer. valid in all states, but only after the init primitive has been previously issued. 5 self-test request: instructs the MK50H25 to perform the built in internal self test. valid only in the stopped phase. a self test primitive issued with uparm=3 will cause the device to identify itself by returning a provider primitive of 5 (or 7 for the mk50h27, etc). see section 4.4.12 for the self test procedure. 6 connect request: instructs the MK50H25 to attempt to establish a logical link with the remote station. valid only in disconnected phase . 7 connect response: indicates willingness to establish a logical link with the remote station. valid only in disconnected phase after receiving a connect indication primitive. 8 reset request: if a logical link has been established, it instructs the MK50H25 to attempt to reset the current link with the remote station. in transparent mode or disconnected phase, it instructs the MK50H25 to start the t1 timer (to be used as a general purpose timer). 9 reset response: if a logical link has been established, it indicates willingness to reset the current logical link with remote station. valid only after receiving reset indication primitive. in transparent mode or disconnected phase, it instructs the MK50H25 to stop the t1 timer. 10 xid request: instructs the MK50H25 to send a xid frame to the remote station. data in the xid/test transmit buffer is used for the data field. invalid in stopped mode. 11 xid response: instructs the MK50H25 to send an xid response frame to the remote station. data in the xid/test transmit buffer is used for the data field. valid only after receiving an xid indication primitive. 12 test request: instructs MK50H25 to send a test command to the remote station. data in the xid/test transmit buffer is used for the data field. invalid in stopped mode. 13 test response: instructs MK50H25 to send a test response frame to the remote station. data in xid/test transmit buffer is used for the data field. valid only after receiving test indication primitive. 14 disconnect request: instructs the MK50H25 to disconnect the current logical link and enter the normal disconnected phase. if the link is cur- rently disconnected, issuing disconnect request with uparm=0 will cause a dm/f=0 frame to be sent; issuing it with uparm=1 will cause a disc/p=0 frame to be sent. 07 plost provider primitive lost is set by the MK50H25 when a provider primitive cannot be issued because the pav bit is still set from the pre- vious provider primitive. plost is cleared when pav is cleared or by a bus reset. writing to this bit has no effect. 06 pav provider primitive available is set by the MK50H25 when a new provider primitive has been placed in pprim. pav is read/clear MK50H25 19/64
only and is set by the chip and cleared by writing a o1o to the bit or by bus reset. under normal operation the host should clear the pav bit after pprim is read. 05:04 pparm provider parameter provides additional information about the reason for the receipt of certain primitives. the following table shows the parameters for the applicable provider primitives. this field is unde- fined for other provider primitives. pprim pparm disconnect indication disconnect confirmation reset indication error indication remote busy indication 0 remotely initiated ua or dm f=1 received remotely initiated unsolicited dm/f=0 rcvd remote busy rnr received 1 sabm timeout disc timeout timer recovery timeout remote un- busy rr or rej rcvd. 2 frmr sent the disc or dm rcvd. frmr sent then sabm/e received frmr received 3 t3 timeout t3 timeout unsolicited ua or f bit received 03:00 pprim provider primitive is written by the MK50H25, in conjunction with with setting the pav bit, to inform the user of link control conditions. valid provider primitives are as follows: 2 init confirmation: indicates MK50H25 init block reading has completed. 3 watchdog timer expiry indication: indicates expiration of tclk or rclk watchdog timer as determined by the value of pparm. (pparm=1indi- cates tclk, pparm=2 indicates rclk if plost is set it indicates both rclk and tclk watchdog timer expiry). issued only if enabled. 4 error indication: indicates an error condition has occurred during the information transfer phase that requires instruction by the host for re- covery. see the pparm table for specific error conditions. appropriate host responses are connect response or disconnect request. 5 remote busy indication: indicates change in the remote busy status of the MK50H25. see pparm table for specific conditions. this primitive is only generated if rbsy (bit 11 of iadr+16) is set = 1. 6 connect indication: indicates attempt by the primary station to establish a logical link (sabm received). appropriate user responses are con- nect response or disconnect request. 7 connect confirmation: indicates sucess of a previous connect request by the user. a logical link is now established. 8 reset indication: if a logical link has been established, it indicates an attempt by the primary station to reset the current logical link (sabm received). appropriate user responses are reset response or discon- nect request. in transparent mode or disconnected phase, it indi- cates expiry of timer t1. 9 reset confirmation: indicates sucess of a previous reset request by the user. the current logical link has now been reset. 10 xid indication: indicates the receipt of an xid command. the data field MK50H25 20/64
of the xid command is located in the xid/test receive buffer. valid only if xide bit in csr2 is set. 11 xid confirmation: indicates the receipt of an xid response. the data field of the xid command is located in the xid/test receive buffer. valid only if xide bit in csr2 is set. 12 test indication: indicates the receipt of test command. the data field of the test command is located in the xid/test receive buffer. 13 test confirmation: indicates the receipt of an test response. the data field of the xid command is located in the xid/test receive buffer. valid only if xide bit in csr2 is set. 14 disconnect indication: indicates request by the remote station to disconnect the current logical link (disc received), or the refusal of a previous connect or reset request. the chip is now in the disconnected phase. 15 disconnect confirmation: indicates the completion of a previously requested link disconnection. 4.1.2.3 control and status register 2 (csr2) rap<3:1> = 2 bit name description 15 cycle setting this bit selects a shorter dma cycle (5 vs 6 sysclks for bursting or 5 vs 7 sysclks for single dma). see figures 7a and 8a for details. 14 eiben extended initialization block enable. setting this bit will cause the MK50H25 to use an extended initialization block which uses all of iadr+08 as a 16-bit scaler, moves n2 to the upper byte of iadr+40, and extends the init block past iadr+55. this bit is read/write. 13 frmrd setting this bit disables the sending of frmr frames (used for lapd applications); otherwise the MK50H25 behaves as specified for x.25. this bit is read/write. 12 t203e if this bit is set, the t3 timer is reconfigured to behave as specified for lapd t203 timer; otherwise it behaves as specified for x.25. the op- eration of the t203 timer is that it expires after t203 time of not having received any type of frame, and causes a rr/p=1 polling (timer re- covery) procedure to begin. this bit is read/write. 11 x75e x.75 mode of protocol operation is enabled if this bit is set to 1; otherwise x.25 mode is enabled. this bit is read/write. 10 prom address filtering is disabled for transparent mode if this bit is set. all uncorrupted incomming frames are placed in the receive descriptor ring. this bit is read/write and should be set only in transparent mode. 9 uie ui frames are recognized only if this bit is set. if uie=0 all received ui frames will not be recognized. this bit is read/write. 8 xide xid frames are recognized only if this bit is set. if xide=0 all received xid frames will not be recognized. this bit is read/write. 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 iadr<23:16> e i b e n f r m r d t 2 0 3 e x 7 5 e p r o m u i e x i d e c y c l e MK50H25 21/64
07:00 iadr the high order 8 bits of the address of the first word (lowest address) in the initialization block. iadr must be written by the host prior to issuing an init primitive. 4.1.2.4 control and status register 3 (csr3) rap<3:1> = 3 bit name description 15:00 iadr the low order 16 bits of the address of the first word (lowest address) in the initialization block. must be written by the host prior to issuing an init primitive. the initialization block must begin on an even byte boundary. 4.1.2.5 control and status register 4 (csr4) csr4 allows redefinition of the bus master interface. rap<3:1> = 4 bit name description 15:12 xwd0/1, rwd0/1 these bits enable and determine the timer values for the transmit and receive watchdog timers. these timers are independently program- mable and are reset by any transition on the tclk and rclk pins re- spectively. the watchdog timers will expire after approximately wn sysclk cycles (if not reset by transition on tclk / rclk pins) and provider primitive 3 will be issued. the following table shows the se- lections for wn: xwd1/rwd1 xwd0/rwd0 wn 0 0 disabled 012 18 102 19 112 20 11 roba setting this bit will cause the MK50H25 to put the first byte of received data into both the upper and lower bytes of the receive buffer to effec- tively cause the receive data to be odd-byte aligned. this feature is particularly useful for extraction of odd-byte level 3 headers from re- ceived frames leaving the remaining data even byte aligned. 10 xhold setting this bit enables the transmit fifo hold-off mechansim of the MK50H25. the transmit fifo hold-off watermark is selected along with the fifo watermark so as to avoid possible conflicts. 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 0 iadr <15:00> 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 b s w p c b u r s t 1 : 0 b s w p d a c o n b c o n f w m b a e b u s r x w d 1 x w d 0 r w d 1 r w d 0 x h o l d r o b a MK50H25 22/64
09:08 fwm these bits define the fifo watermarks. fifo watermarks prevent the MK50H25 from performing dma transfers to/from the data buffers until the fifos contain a minimum amount of data or space for data. for re- ceive, data will only be transferred to the buffers after the fifo has at least n 16-bit words or end of frame has been reached. conversely, for transmit, data will only be transferred from the data buffers when the transmit fifo has room for at least n words of data. the transmit threshold fifo watermark is also defined by these bits. if enabled by setting xhold=1, the transmitter will be held-off from transmitting a new frame until the transmit fifo has at least n words of data, or the entire frame has been placed in the fifo. the n is defined as follows: fwm<1:0> fwm n xhold n 11 not allowed not allowed * suggested setting 10* 9 words 19 words 01 17 words 11 words 00 25 words 3 words 07 bae bus address enable: if bae is set, the a23-a20 pins are driven by the MK50H25 constantly providing the ability to use a23-a20 for memory bus selection. if clear, a23-a20 behave identically to a19- a16. 06 busr if this bit is set, pin 15 becomes input busrel. if this bit is clear then pin 15 is either bm0 or byte depending on bit 00. for more in- formation see the description for pin 15 in this document. busr is read/write and cleared on bus reset. 05 bswpc this bit determines the byte ordering of all onon-datao dma transfers. this transfers refers to any dma transfers that access memory other than the data buffers themselves. this includes the initialization block, descriptors, and status buffer. it has no effect on data dma transfers. bswpc allows the MK50H25 to operate with memory organizations that have bits 07:00 at even addresses and with bits 15:08 at odd ad- dressses or vice versa. bswpc is read/write and cleared by bus reset. with bswpc = 1: address address with bswpc = 0: address address 04:03 burst this field determines the maximum number of data transfers performed each time control of the host bus is obtained. burst is read/write and cleared on bus reset. * suggested setting 02 bswpd this bit determines the byte ordering of all data dma transfers. data transfers are those to or from a data buffer. bswpd has no ef- fect on non-data transfers. the effect of bswpd on data transfers is the same as that of bswpc on non-data transfers (see above). for most applications, this bit should be set. xx0 0 . . . 7 8...15 xx0 xx1 0 . . . 7 8...15 xx1 burst <1:0> 8 bit mode 16 bit mode 00 2 bytes 1 words 10* 16 bytes 8 words 01 unlimited unlimited MK50H25 23/64
01 acon ale control defines the assertive state of pin 18 when the MK50H25 is a bus master. acon is read/ write and cleared by bus reset. 00 bcon byte control redefines the byte mask and hold i/o pins. bcon is read/write and cleared by bus reset. 4.1.2.6 control and status register 5 (csr5) csr5 facilitates control and monitoring of modem controls. rap<3:1> = 5 bit name description 15:06 0 reserved, must be written as zeroes. 5 xedge setting this bit causes the td output to change on the rising edge of tclk rather than on the falling edge as indicated in the description of pin 25. this may be useful at high tclk rates where internal delays may cause application required td to tclk setup times to otherwise be violated. 4 rtsen rts/cts enable is a read/write bit used to configure pins 26 and 30. if this bit is set, pin 26 becomes rts and pin 30 becomes cts. rts is driven low whenever the MK50H25 has data to trans- mit and is kept low during transmission. rts will be driven high after the closing flag of a signal unit is transmited if either no other frames are in the fifo or if the minimum signal unit spacing is higher than 2 (see mode register). the MK50H25 will not begin transmission and td will remain high if cts is high. if rtsen = 0 then pins 26 and 30 become programmable i/o pins dtr and dsr. the direction and behavior of dsr and dtr are controlled by the following bits. 3 dtrd dtr direction is a read/write bit used to control the direction of the dtr/rts pin. if dtrd = 0, the dtr/rts pin becomes an input pin and the dtr bit reflects the current value of the pin; if dtrd = 1, the dtr/rts pin is an output pin controlled by the dtr bit below. 2 dsrd dsr direction is a read/write bit used to control the direction of the dsr/cts pin. if dsrd = 0, the dsr/cts pin becomes an input pin and the dsr bit reflects the current value of the pin; if dsrd = 1, the dsr/cts pin is an output pin controlled by the dsr bit below. 1 dtr data terminal ready is used to control or observe the dtr i/o pin depending on the value of dtrd. if dtrd = 0, this bit be- comes read only and always equals the current value of the dtr/rts pin. if dtrd = 1, this bit becomes read/write and any value written to this bit appears on the dtr/rts pin. acon pin18 name 0 asserted high ale 1 asserted low as bcon pin16 pin15 pin17 0 bm1 bm0 hold 1 busako byte busrq 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 000000000 d t r d d s r d d t r d s r r t s e n x e d g e 0 MK50H25 24/64
0 dsr data set ready is used to control or observe the dsr i/o pin depending on the value of dsrd. if dsrd = 0, this bit be- comes read only and always equals the current value of the dsr/cts pin. if dsrd = 1 this bit becomes read/write and any value written to this bit appears on the dsr/cts pin. MK50H25 25/64
4.2 initialization block MK50H25 initialization includes the reading of the initialization block in the off-chip memory to obtain the operating parameters. the initialization block is defined below. upon receiving an init primitive, portions of the initialization block are read by the MK50H25. the remainder of the initialization block will be read as needed by the MK50H25. mode base address higher addr iadr+00 iadr+02 iadr+04 iadr+06 iadr+08 iadr+10 iadr+12 iadr+14 local station address remote station address n1 - max frame length iadr+16 iadr+18 iadr+20 iadr+22 iadr+40 iadr+44 thru iadr+57 error counters status buffer tdra <15:00> tlen - tdra <23:16> rdra <15:00> rlen - rdra <23:16> xid/test tx descriptor xid/test rx descriptor address n2 + scaler t1 timer tp timer t3 timer iadr+24 iadr+32 figure 8: initialization MK50H25 26/64
4.2.1 mode register the mode register allows alteration of the MK50H25's operating parameters. bit name description 15:11 mfs<4:0> minimum frame spacing defines the minimum number of flag sequences transmitted between adjacent frames transmitted by the MK50H25. this only affects frames transmitted by the MK50H25 and does not restrict the spacing of the frames received by the MK50H25. when using rts/cts control this field defines the number of flags transmitted at the beginning of the frame after cts is driven low (minus one for the trailing flag). see the following table for encoding of this field. 10 extcf extended control force. if set along with extc, the receiver will assume the control field to be two octets long regardless of the first two bits of the control field. see extc below. 09 extaf extended address force. if set along with exta, the receiver will assume the address to be two otets long regardless of the first bit of the address. see exta below. 08 dace address and control field extraction are disabled when dace is set address and control fields are treated as data and placed in memory as such. dace must be written with o1o for normal transparent data transfer operation, but can be set to o0o for doing address and control field filtering. 07 extc extended control field filtering is enabled when extc = 1 if dace = 0 and prom = 0 (prom is in csr2). 06 exta extended address field filtering is enabled when exta = 1 if dace = 0 and prom = 0 (prom is in csr2). 05 drfcs disable receiver fcs (crc). when drfcs = 0, the receiver will extract and check the fcs field at the end of each frame. when drfcs = 1, the receiver continues to extract the last 16 or 32 bits of each frame, 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 lback <2:0> mfs <4:0> f e x t c e x t a f d a c e e x t c e x t a iadr + 00 c s s f d r f c s d t f c s number of flags mfs<4:0> number of flags mfs<4:0> 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 1 0 2 4 9 18 5 11 22 12 25 19 7 15 31 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 28 24 17 3 6 13 27 23 14 29 26 21 10 20 8 16 MK50H25 27/64
depending on fcss, but no check is performed to determine whether the fcs is correct. if the received frame has no fcs, then the fcsen bit (in iadr+16) should be set so that mcnt will reflect the correct length of the received frame. 04 dtfcs disable transmitter fcs. when dtfcs=0, the transmitter will generate and append the fcs to each signal unit. when dtfcs = 1, the fcs logic is disabled, and no fcs is generated with transmitted frames. setting dtfcs = 1 is useful in loopback testing for checking the ability of the receiver to detect an incorrect fcs. 03 fcss fcs select. when fcss = 1, a 16-bit fcs is selected otherwise a 32- bit fcs is used. 02:00 lback loopback control puts MK50H25 into one of several loopback configurations. (note: if rtsen (csr5<04>) = 1, then rts (pin 26) must be connected to cts (pin 30) for proper loopback operation.) 4.2.2 station addresses the MK50H25 uses the values in local and remote station address fields of the initialization block for filtering received frames and for the address field of transmitted frames. the MK50H25 transmits com- mands with the remote station address in the frame address field, and it transmits responses with the local station address in the frame address field. the MK50H25 compares the received frame address to the local and remote station address fields. if the received frame address matches the local station address field the MK50H25 will treat the received frame as a command. if the received frame address matches the remote station address field the MK50H25 will treat the received frame as a response. the MK50H25 also supports the reception of frames with a global address of all 1's, if the xide bit (csr2<08>) is set =1. in this case, it will treat a frame received with a global address as a comand, whether or not it is an xid/test frame. the MK50H25 however, will transmit a frame with a global ad- dress if all 1's have been placed in the appropriate local/remote address fields prior to an init primitive (uprim=2, csr1) being issued. lback description 0 normal operation. no loopback. 4 simple loopback. receive data and clock are driven internally by transmit data and clock. transmit clock must be supplied externally 5 clockless loopback. receive data is driven internally by transmit data. transmit and receive clocks are driven by sysclk divided by 8. 6 silent loopback. same as simple loopback with td pin forced to all ones. 7 silent clockless loopback. combination of silent and clockless loopbacks. receive data is driven internally by transmit data, transmit and receive clocks are driven by sysclk divided by 8. the td pin is forced to all ones. MK50H25 28/64
4.2.3 station address and control field filtering the local and remote frame addresses may be either one or two octets according to the exta control bit described in the mode register. if extended address mode filtering is selected, bit zero of the ad- dress field should be set to a zero if adherening to hdlc standards. if extended address filtering is not selected, frame adresses should be located in the lower order byte of of their respective fields. the ad- dress filtering is a one octet compare if the extended address bit, exta is 0 (mode register bit 06), or fol- lows the hdlc rules for extended addressing if exta is 1. frames not matching either address are ig- nored. in the MK50H25, address filtering and control field handling applies only to octet aligned frames received with good fcs. any frame not meeting both of these conditions is discarded and the obad frames re- ceivedo error counter (located at iadr + 38 of the initialization block ) is incremented. extended control field filtering is also possible using the extc bit (mode register bit 07), as shown in table 2 and table 3. if extc is 0 then the c-field is one octet for all frames. if however extc is set to 1, the MK50H25 will look to see if either of the two least significant bits of the c-field is 0. if so, the frame is said to have an extended control field which is two octets. in addition, bits extaf and extcf (mode register bit 09 & 10) are useful to force extended address and control. if extaf is set along with exta, the receiver will assume the address field to be two bytes long regardless of the first bit of the address field. if extcf is set along with extc, the receiver will assume the contol field to be two bytes long re- gardless of the first two bits of that field. the following table shows the MK50H25 address filtering options and handling of the received address field. in transparent mode, address filtering is supported if the prom bit (csr2, bit 10) is 0. in this case, frames are accepted if the received address field matches either the send frame address or the re- ceive frame address as specified in the initialization block. the send and receive addresses may be either one or two octets in length according to the exta control bit as described above. frames not matching either address are ignored. bit radr in the receive message descriptor (rmd0 <09>)indi- cates which of the two programmable adresses the frame matched. if address filtering is not used, these fields can just be written as zeroes. for global adresses, the xide bit is valid in transparent mode, depending upon the settings of the other bits in the mode register, as shown in table 3 below. if bit xide (csr2, bit 08) is set to 1, then all frames with address o11111111o are accepted. the following table shows the MK50H25 address filtering options and the way in which it handles the re- ceived address and control fields in transparent mode. table 2: MK50H25 address filtering options notes: 1. prom is defined in csr2 bit 10. xide is defined in csr2 bit 08. 2. dace, exta, extaf, extc, and extcf are defined in the mode register. x = do not care. 3. dace and prom should be set =1 only in transparent mode operation. exta 0 x 0 0 1 1 1 0 extaf 0 x 0 x 0 0 1 1 xide 0 x 1 x 0 0 0 x prom 0 1 0 x 0 0 0 x dace 0 1 0 1 0 1 0 0 address filtering single octet filtering l&r (local & remote frame adresses) no address filtering, all frames accepted single octet filtering l&r and global addresses not allowed double octet filtering l&r per hdlc rules double octet filtering l&r per hdlc rules double octet filtering l&r regardless of a-field lsb not allowed MK50H25 29/64
table 3: address and control field handling by the MK50H25 receiver in transparent mode dace 0 0 0 0 0 0 0 0 0 0 0 1 1 prom 0 0 0 0 0 0 1 1 1 1 1 0 1 exta 0 0 1 1 1 1 0 0 1 1 1 x x extaf 0 0 0 1 0 1 0 0 0 1 0 x x extc 0 1 0 0 1 1 0 1 0 0 1 x x extcf 0 0 0 0 0 1 0 0 0 0 1 x x address field handling a filtered a filtered a or ea filtered ea filtered a or ea filtered ea filtered not filtered, aa -> mem1 not filtered, aa ->mem1 not filtered, aa or ea -> mem1 not filtered, ea -> mem1 not filtered, aa or ea -> mem1 first 2 octets always filtered total transparent mode control field handling cc  -> mem1 cc or ec -> mem1 cc -> mem1 cc -> mem1 cc or ec  -> mem1 ec -> mem1 cc -> mem2 cc or ec  -> mem2 cc  -> mem2 cc  -> mem2 ec  -> mem2 ec  -> mem1 all data after opening flag & before fcs -> memory notes: 1. mem1 is the first location and mem2 is the second location where received data is loaded. mem1 and mem2 are each 16 bits wide. 2. c is the received, single octet, control field. cc ->memx means the single octet control field c is loaded into both bytes of a 16 bit memory location. similarly, a is a single octet address field, and aa ->memx means the single octet address field a is loaded into both bytes of a 16 bit memory location. 3. ec is an extended control field (2 octets). if extc=1 and either of the 2 lsb's of the control filed is 0, the control field is considered extended, this determines whether cc or ec ->memx. however, when extcf is set to 1, the control field is always extended 4. ea is an extended address field (2 octets). oa or ea filteredo means that one octet of the a-field is filtered if the lsb = 1, or two octets are filtered if the lsb = 0. similarly oaa or ea -> mem1o means that aa is loaded into memory if the lsb = 0; else, ea is loaded. this conforms to hdlc rules for extended address. however, if extaf is set to 1, two octets are filtered regardless of the lsb, and ea will be loaded into memory. 5. .prom is defined in csr2 bit 10. 6. dace, exta, extaf, extc, and extcf are as defined in the mode register. x = do not care. MK50H25 30/64
4.2.4 timer/counters there are 5 independent counter-timers. the host will write the value of these to the initialization block. counter description n1 maximum frame length. this field must contain the t wo's complement of one less than the maximum allowable frame length, in bytes. any frame that exceeds this count will be discarded. n2 maximum retransmission count. this field must contain the two's complement of one less than the maximum number of retransmissions that will be made following the expiration of t1. if csr2<14> bit eiben=1 then the MK50H25 will expect the value for counter n2 to be located in the upper byte of iadr + 40. scaler timer prescaler. timers t1, t3, and tp are scaled by this number. the prescaler is incremented once every 32 system clock pulses. when it reaches the timers are incre- mented and the prescaler is reset. this field is interpreted as two's complement of the prescaler period. if csr2<14> bit eiben=1 then the MK50H25 will use the entire 16-bit value at iadr+08 as the prescaler value. this may be required to achieve long timer values when operating a high sysclk speeds. note: a prescale value of 1 gives the smallest amount of scalling to the timers (64 clock pulses); zero gives the largest (8224 clock pulses if eiben=0, or 2,097,184 clock pulses if eiben=1). t1 retransmission timer. link control frames will be retransmitted upon expiration of the t1 timer if the appropriate response is not received. this field must contain the two's complement of the period of timer t1. the scaled value of t1 should be made large enough to allow the remote station to receive the control frame and send its response. t3/t203 link idle timer. the link idle timer determines the amount of link idle time necessary to consider the link disconnected. if csr2<12> bit t203e=1 it determines the amount of link idle time or time without receiving a valid frame before it begins a rr/p=1 polling se- quence to determine if the link is still connected. this field must contain the two's com- plement of the period of t3 or t203. t3 is disabled if csr5<04> rtsen = 1 or if the MK50H25 is in transparent mode. 1 5 0 0 0 1 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 iadr + 06 iadr + 08 iadr + 10 iadr + 12 counter n1 timer t1 timer t3 iadr + 14 timer tp scaler counter n2 MK50H25 31/64
tp transmit polling timer. this scaled timer determines the length of time between polls of the transmit descriptor ring to determine if there is a frame awaiting transmis- sion (i.e. owna bit has been set plus other appropriate information placed in the current transmit descriptor). unless tdmd (see csr0) is set, or a frame is received (in proto- col mode) on the link, no attempt is made to transmit a frame in the transmit descriptor ring until tp expires. at tp expiration all frames available in the transmit descriptor ring will be sent. this field must contain the two's complement of the period of timer tp. MK50H25 32/64
4.2.5 receive descriptor ring pointer bit name description 15 rintd receive interrupt disable. setting this bit will cause no receive interrupt (rint) to be generated upon the reception of any frame. 14:12 rlen receive ring length is the number of entries in the receive ring expressed as a power of two. 11 rbsy remote busy indication enable. setting this bit will enable the issuance of remote busy indication primitives (pprim=5) upon reception of rnr or rr frame indicating a change in the busy status of the remote. 10 rbfcs receive frames with bad fcs. setting this bit causes the MK50H25 to receive frames with bad fcs when in transparent mode. the frmrr bit in rmd0 will be set to indicate the received frame had a bad fcs. this bit should be set only for transparent mode 09 fcser fcser. setting this bit enables a separate error counter at iadr + 56 that will count aborted frames separately from bad frames received. 08 fcsen setting this bit will cause the MK50H25 to append the entire fcs of received frames to the receive data buffer, and mcnt will reflect the additional fcs bytes. 07:00/15:00 rdra receive descriptor ring address is the base address (lowest address) of the receive descriptor ring. the receive de- scriptor address must begin on a word boundary. 4.2.6 transmit descriptor ring pointer bit name description 15 0 reserved, must be written as a zero. 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 iadr + 16 iadr + 18 rdra<15:00> 0 rlen rdra<23:16> r i n t d r b s y r b f c s f c s e r f c s e n 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 iadr + 20 iadr + 22 tdra<15:00> 0 0 tlen 0 tdra<23:16> twd MK50H25 33/64
14:12 tlen transmit ring length is the number of entries in the transmit ring expressed as a power of two. tlen number of entries twd window size extc = 0 extc = 1 0 1 2 3 4 5 6 7 1 2 4 8 16 32 64 128 0 1 2 3 4 5 6 7 na 1 2 3 4 5 6 7 1 3 7 15 31 63 127 127 11 0 reserved, must be written as a zero. 10:08 twd transmit window is the window size of the transmitter expressed as a power of two less one. twd is the maximum number of i frames which may be transmitted without an acknowledgement. twd is not allowed to be greater than 127. for transparent mode set twd = 1 or more. 07:00/15:00 tdra transmit descriptor ring address is the base address (lowest address) of the transmit descriptor ring. the transmit de- scriptor ring address must begin on a word boundary. 4.2.7 xid/test descriptors the xid/test descriptors contain pointers to the buffers used to receive and transmit xid, and test frames, as well as buffer lengths. the exact format of these descriptors can be seen in the following re- ceive and transmit message descriptor entry descriptions. they are used the same as other descriptors except that no data chaining is allowed (i.e., slf and elf must be set to 1). 4.2.8 status buffer address bit name description 15:08 0 reserved, must be written as zeroes. 07:00/15:00 sba status buffer address points to a 7 word status buffer into which status information is placed upon the issuance of the status request primitive by the host. the status buffer must begin on a word boundary. 1 5 1 4 1 3 0 7 0 8 0 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 iadr + 40 iadr + 42 sba<15:00> sba<23:16> 0 n2 (if csr2 eiben =1) MK50H25 34/64
4.2.9 error counters seven locations in the initialization buffer are reserved for use as error counters which the MK50H25 will increment. these counters are intended for use by the host cpu for statistical analysis. the MK50H25 will only increment the counters; it is up to the user to clear and preset them. the error counters are: memory address error counter iadr + 44 bad frames received - bad fcs - non-octet aligned iadr + 46 number of frmr frames received. iadr + 48 number of t1 timeouts. iadr + 50 number of rej frames received. iadr + 52 number of rej frames transmitted. iadr + 54 frames shorter than minimum length received. iadr + 56 number of aborted frames received. enabled only if fcser = 1 iadr + 58 thru iadr + 60 reserved. must be programmed as zeroes only if eiben = 1. 4.3 receive and transmit descriptor rings each descriptor ring in memory is a 4 word entry. the following is the format of the receive and transmit descriptors. 4.3.1 receive message descriptor entry 4.3.1.1 receive message descriptor 0 (rmd0) bit name description 15 owna when this bit is a zero either the host or the i/o acceleration processor owns this descriptor. when this bit is a one the MK50H25 owns this descriptor. the chip clears the owna bit af- ter filling the buffer pointed to by the descriptor entry provided a valid frame has been received. the host sets the owna bit after emp- tying the buffer. once the MK50H25, host, or i/o acceleration processor has relinquished ownership of a buffer, it may not change any field in the four words that comprise the descriptor entry. 14 ownb this bit determines whether the host or a slave processor or process owns the buffer when owna is a zero. the MK50H25 never uses this bit. 13 slf start of long frame indicates that this is the first buffer used by the MK50H25 for this frame. it is used for data chaining buffers. slf is set by the MK50H25. note: a olong frameo is any frame which needs chaining. 12 elf end of long frame indicates that this the last buffer used by MK50H25 for this frame. it is used for data chaining buffers. if both slf and elf were set, the frame would fit into one buffer and no data chaining would be required. elf is set by the MK50H25. 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 rbadr<23:16> a r d r o w n a o w n b f r m r r r p f s l f e l f u i r MK50H25 35/64
11 uir ui received indicates a ui frame has been received and is in this buffer. 10 frmrr frmr received indicates the i-field of a frmr is stored in this buffer. in transparent mode with rbfcs=1 (iadr+16) it indicates received frame referenced by this message descriptor has a bad fcs. 09 radr valid only in transparent mode with address filtering enabled, radr indicates which of the 2 programmable addresses the frame matched. if set, the received address field matched the value in the local ad- dress field of the initialization block. otherwise it matched the value in the remote address field. 08 rpf valid only for ui, xid, and test frames. rpf equals the state of the p or f bit for the received frame. 07:00 rbadr the high order 8 address bits of the buffer pointed to by this descriptor. this field is written by the host and unchanged by MK50H25. 4.3.1.2 receive message descriptor 1 (rmd1) bit name description 15:01 rbadr the low order 16 address bits of the receive buffer pointed to by this descriptor. rbadr is written by the host cpu and unchanged by MK50H25. the receive buffers must be word aligned. 4.3.1.3 receive message descriptor 2 (rmd2) bit name description 15:00 bcnt buffer byte count is the length of the buffer pointed to by this descriptor expressed in two's complement. this field is written to by the host and unchanged by MK50H25. the value of bcnt must be an even number. 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 rbadr<15:00> 0 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 bcnt<15:00> 0 MK50H25 36/64
4.3.1.4 receive message descriptor 3 (rmd3) bit name description 15:00 mcnt message byte count is the length, in bytes, of the received frame mcnt is valid only when elf is set to a one. mcnt is written by MK50H25 and read by the host. if elf is set to a zero the entire buffer has been utilized and the message byte count is given in bcnt above. the value of this field is expressed in two's comple- ment. mcnt also reflects additional fcs bytes if fcsen = 1. 4.3.2 transmit message descriptor entry 4.3.2.1 transmit message descriptor 0 (tmd0) bit name description 15 owna when this bit is a zero either the host or an i /o acceleration processor owns this descriptor. when this bit is a one the MK50H25 owns this descriptor. the host sets the owna bit after filling the buffer pointed to by the descriptor entry. the MK50H25 releases the descriptor after transmitting the buffer and receiving the proper acknowledgement from the receiver. after the MK50H25, host, or i/o acceleration proc- essor has relinquished ownership of a buffer, it may not change any field in the four words that comprise the descriptor entry. 14 ownb this bit determines whether the host or an i /o acceleration processor owns the buffer when owna is a zero. the MK50H25 never uses this bit. this bit is provided to facilitate use of i/o acceleration processors. 13 slf start of long frame indicates that this is the first buffer used by the MK50H25 for this frame. it is used for data chaining buffers. slf is set by the host. when not chaining, slf should be set to a one. note: a olong frameo is any frame which needs data chaining. 12 elf end of long frame indicates that this is the last buffer used by the MK50H25 for this frame. it is used for data chaining buffers. if both slf and elf were set the frame would fit into one buffer and no data chaining would be required. elf is set by the host. when not chaining, elf should be set to a one. 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 mcnt<15:00> 1 5 1 0 1 4 0 9 1 2 1 1 0 8 0 3 0 7 0 2 0 6 0 5 0 4 0 1 0 0 1 3 0 tbadr<23:16> o w n a o w n b s l f e l f t u i t i n t d x p f MK50H25 37/64
11 tui transmit a ui frame indicates that a ui frame is to be transmitted from the transmit buffer instead of a normal i frame. this bit must be set for anything transmitted in transparent mode. 10 tintd transmit interrupt disable. if this bit is set, no transmit interrupt is generated when ownership of this descriptor is released back to the host. 09 0 reserved, must be written as zeroes. 08 xpf transmit p/f bit instructs the MK50H25 to send the corresponding frame with the respective value for the p/f bit. this bit is valid is valid only for ui, xid and test frames and should be written zero otherwise. 07:00 tbadr the high order 8 address bits of the buffer pointed to by this descriptor. this field is written by the host and unchanged by MK50H25. 4.3.2.2 transmit message descriptor 1 (tmd1) bit name description 15:00 tbadr the low order 16 address bits of the buffer pointed to by this descriptor. tbadr is written by the host and unchanged by MK50H25. the least significant bit is zero since the descriptor must be word aligned. 4.3.2.3 transmit message descriptor 2 (tmd2) bit name description 15:00 bcnt buffer byte count is the usable length of the buffer pointed to by this descriptor expressed in two's complement. this field is not used by the MK50H25. 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 tbadr<15:00> 0 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 bcnt<15:00> MK50H25 38/64
4.3.2.4 transmit message descriptor 3 (tmd3) bit name description 15:00 mcnt message byte count is the length, in octets, of the data contained in the corresponding buffer. the value of this field is expressed in two's com- plement. 4.3.3 status buffer 1 5 1 4 1 3 0 7 0 8 1 0 1 1 1 2 0 1 0 2 0 3 0 4 0 5 0 0 0 9 0 6 mcnt<15:00> 1 5 0 0 0 1 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 sba + 00 currd <15:00> currd <23:16> revision indicator phase v(a) local state remote state v(r) v(s) curxd <23:16> curxd <15:00> sba + 02 sba + 04 sba + 06 reserved sba + 08 sba + 10 sba + 12 MK50H25 39/64
MK50H25 status buffer field description v(r) current value of the receive count variable. 0 < v(r) < 7 (0 < v(r) < 127 for extended control). v(s) current value of the transmit count variable. 0 < v(s) < 7 (0 < v(s) < 127 for extended control). v(a) current value of transmit acknowledge count. this field contains the value of the n(r) of the most recently received s or i frame. the modulo difference between v(a) and v(s) determines the number of outstanding i frames that have not been acknowledged by the remote station. local state indicates the current state of operation for the local (secondary) station. 0: normal data transfer state 1: local busy state 2: rej sent state 3: disc sent state 4: normal disconnected state 5: sabm/e sent for link connection 6: frmr sent state 7: sabm/e sent for link reset 8: error indication issued remote state indicates the current state of operation for the remote station. 0: remote not busy 1: remote busy phase indicates the current phase of operation for the local station. -1: stopped, td is held at 1's, rd is ignored 0: information transfer state 1: disconnected phase, td transmits flags 2: resetting phase 3: transparent data transfer phase 4: merr reset phase revision indicator indicates firmware revision of the device. this closely corresponds to the orev xxxo label branded on the package of the device. currd<23:0> current receive descriptor. this pointer indicates the position of the descriptor for the next receive buffer to be filled. currxd<23:0> current transmit descriptor. this pointer indicates the position of the descriptor for the next transmit buffer to be transmitted. 4.4 detailed programming procedures 4.4.1 initialization (reading of initialization block) the following procedure should be followed to intialize the MK50H25: 1. setup bus control information in csr4. 2. setup the initialization block and desciptor rings. 3. load the address of the initialization block information into csr's 2 and 3. 4. issue the init primitive through csr1 (write 4200h to csr1) instructing the MK50H25 to read the initialization block pointed to by csr's 2 and 3. 5. wait for the init confirmation primitive (csr1 = 0242h) from the MK50H25. then clear the pav bit in csr1 (write 0040h to csr1). 6. issue the start primitive through csr1 (write 4300h to csr1). flags will now be continously transmitted. 7. enable interrupts in csr0 if desired. MK50H25 40/64
4.4.2 active link setup the following procedure should be followed to actively establish a link. 1. issue connect request primitive (uprim=6) through csr1. the MK50H25 will attempt to establish a logical link. it does this by sending a sabm/p=1 frame, and repeats sending it at t1 timer intervals un- til a response is received or n2 have been sent (in which case it would issue pprim=14 with pparm=1). 2. wait for a connect confirmation primitive (pprim=7) from the MK50H25 (indicating reception of ua frame in response to sabm sent). 3. if a connect confirmation primitive is received, a link has been established. 4. if a disconnect indication primitive (pprim=14) is received, the mk5025 has been unable to establish a link. the reason will be in the pparm field of csr1. 4.4.3 passive link setup the following procedure should be followed for passively establishing a link. 1. issue a disconnect request primitive (uprim=14). if issued with uparm=0, a dm/f=0 frame will be sent; if issued with uparm=1, a disc/p=0 frame will be sent to the remote station requesting link setup. this step is optional in many cases, but some networks require either a dm or disc be sent to initiate passive link setup. 2. wait for a connect indication primitive (pprim=6) from the MK50H25. 3. if a connect indication primitive is received (indicating sabm frame has been received), issue a con- nect response primitive to indicate willingness to establish the link (causes MK50H25 to respond with a ua frame). the link is now established. 4. if no connect indication primitive is received, the remote station is not trying to establish a link. 4.4.4 refusing link setup the following procedure should be followed when refusing link establishment. 1. a connect indication primitive received indicates a request by the remote station to establish a link. 2. issue a disconnect request primitive to refuse to establish the link (causes MK50H25 to respond with a dm or disc frame depending on value of uparm). 4.4.5 sending data use the following procedure to send a frame: 1. wait for the owna bit of the current transmit descriptor to be cleared, if it is not already. 2. fill the buffer associated with the current transmit descriptor with the data to be sent, or set the de- scriptor buffer address to any already filled buffer. 3. repeat steps 1 & 2 for next buffer if chaining is necessary, setting slf, elf and mcnt appropriately. 4. set the owna bit for each descriptor used. 5. go on to next descriptor. the owna bits will be cleared when data has been sent successfully and acknowledged. in transparent mode, owna bits are cleared immediately after frame transmission. 4.4.6 receiving data the following procedure should be followed when receiving a frame: 1. make sure the owna bit of the current receive descriptor is clear. 2. read data out of the buffer associated with the current receive descriptor. 3. set the owna bit of the current receive descriptor. 4. if the elf bit of the current receive descriptor is clear, then go on to the next descriptor and repeat the above steps appending data from each buffer until a descriptor with the elf bit set is reached. 4.4.7 link disconnect the following procedure should be followed to disconnect an established link. 1. issue the disconnect request primitive to the MK50H25. 2. a disconnect confirmation primitive (pprim=15) will be issued after successful disconnection, and the MK50H25 will go into normal disconnected state. MK50H25 41/64
4.4.8 link reset the following procedure should be followed to reset an established link. 1. issue a reset request primitive (uprim=8). 2. wait for a reset confirmation primitive (pprim=9) from the MK50H25 (indicating reception of ua frame in response to sabm sent). 3. if a reset confirmation primitive is received, a link has been reset. 4. if a disconnect indication primitive (pprim=14) is received, the mk5025 was unable to reset the link. the reason will be in the pparm field of csr1. link connection procedures now must be performed to re-establish the link. 4.4.9 receiving link reset the following procedure should be followed when receiving a request for link reset: 1. a reset indication primitive (pprim=8) will be received from the MK50H25 indicating the remote sta- tion has requested a resetting of the link. 2. if able to reset, issue a reset response primitive (uprim=9) to indicate willingness to reset the link. 3. if unable to reset, issue a disconnect request primitive (uprim=14) to disconnect the link. 4.4.10 receiving frmr frame the following procedure should be followed when receiving a frmr frame: 1. an error indication primitive (pprim=4) will be received from the MK50H25 indicating an error condi- tion. pparm=2 will indicate a frmr has been received. the i-field of the frmr has been placed in the receive buffer pointed to by the next available receive descriptor. 2. if able to reset the link, issue a reset response primitive (uprim=9) and wait for either a reset indi- cation or a disconnect indication as described previously for link reset. 3. if unable to reset, issue a disconnect request primitive (uprim=14) to disconnect the link. link con- nection procedures now must be performed to re-establish the link. 4.4.11 exchanging identification the following procedure should be followed to exchange identification with the remote station: 1. the xide bit in csr2 must be set prior to any identification exchange. 2. place appropriate identification information in the xid/test transmit buffer. 3. issue an xid request primitive (uprim=10) 4. if an xid confirmation primitive (pprim=11) is received, the identification exchange has been per- formed, and the remote response is located in the xid/test receive buffer. 4.4.12 receiving xid/test frames the following procedure should be performed when receiving xid/test frames: 1. a xid indication primitive (pprim=10) or test indication primitive (pprim=12) will be received from the MK50H25 to indicate the reception of a xid or test frame. the information field of the received xid or test frame will be located in the xid/test receive buffer. 2. to respond, place the appropriate information in the xid/test transmit buffer and issue a xid/test response primitive (uprim=11/13). 3. to refuse, issue a disconnect request primitive (uprim=14). note: a xid or test indication primitive will only be issued if the xide bit is set in csr2. otherwise all xid/test frames will automatically be refused and not recognized. 4.4.13 disabling the MK50H25 the following procedure should be followed to disable the MK50H25: 1. issue the stop primitive through csr1. this will disable the MK50H25 from receiving or transmitting. the td pin will be held high while the MK50H25 is in the stopped mode. the stop bit in csr0 will be set and interrupts will be disabled. if reception or transmission of a frame is in progress, then re- ceived data may be lost, and the transmitted frame will be aborted. 4.4.14 re-enabling the MK50H25 the same procedure should be followed for re-enabling the MK50H25 as was used to initalize upon power up. if the initialization block and the hardware configuration have not changed, then steps 1,2,3, 4 and 5 of the intialization sequence may be omitted. MK50H25 42/64
4.4.15 MK50H25 internal self test the MK50H25 contains an easy to use internal self test designed to test, with a high fault coverage, all of the major blocks of the device except the dma controller. it is suggested that a loopback test also be performed to more completely test the dma controller. the following procedure should be followed to execute the internal self test: 1. reset the device using the reset pin. 2. set bit 04 of csr4. 3. issue a self test request (uprim=5) through csr1. 4. poll csr1, waiting for the pav bit in csr1 to be set by the MK50H25. 5. after the pav bit is set, read csr1. if bit 04 is clear, the self test passed. if bit 04 is set, it failed. the success or failure of the test is futher indicated in the pprim field as follows: pprim result 0 passed self test. 1 failed the reset test of the self test. 2 failed the self test in the micro controller ram. 3 failed the self test in the alu. 4 failed the self test in the timers. 5 failed the self test in the transmitter and/or receiver. 6 failed the self test in the csr's and/or bus master. otherwise failed device. 6. if the pav bit is not set within 75 msec (sysclk = 10mhz), then the MK50H25 is unable to respond to the self test request and will not complete successfully. if the self test passes, then after clearing the pav bit it may be immediately reexecuted from step 3, oth- erwise re-execution should proceed from step 1. after executing self-test, the MK50H25 should be reset before continuing with other testing or operation of the device. this is recommended because the self-test leaves some of the timers and registers in different states than after reset. to not reset the device after self-test may cause unexpected results in further operation of the device. user notes: MK50H25 43/64
section 5 electrical specifications absolute maximum ratings symbol parameter value unit t ub temperature under bias -25 to +100 c t stg storage temperature -65 to +150 c v g voltage on any pin with respect to ground -0.5 to v cc +0.5 v p tot power dissipation 0.5 w stresses above those listed under oabsolute maximum ratingo may cause permanent damage to the above device. this is a stress rating only and functional operation of the device at these or any other condition above those indicated in the operational sections of this specification is not implied. exposure to absolute maximum rating conditions for ex- tended periods may affect device reliability. dc characteristics t a =0 cto70 c, v cc =+5v 5 percent unless otherwise specified. symbol parameter min. typ. max. units v il -0.5 +0.8 v v ih +2.0 v cc +0.5 v v ol @ iol = 3.2 ma +0.5 v v oh @ ioh= -0.4 ma +2.4 v i il @ vin = 0.4 to v cc +10 ma i cc @ tsct = 100 ns 50 m a capacitance f = 1mhz symbol parameter min. typ. max. units c in capacitance on input pins 10 pf c out capacitance on output pins 10 pf c io capacitance on i/o pins 20 pf ac timing specifications t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. MK50H25 -16 -25 -33 -16/25/33 no signal symbol parameter test condition min. min. min. max. units 1 sysclk t sct sysclk period 60 40 30 10000 ns 2 sysclk t scl sysclk low time 24 16 12 ns 3 sysclk t sch sysclk high time 24 16 12 ns 4 sysclk t scr rise time of sysclk 0 0 0 8 ns 5 sysclk t scf fall time of sysclk 0 0 0 8 ns 6 tclk t tct tclk period 20 20 20 ns 7 tclk t tcl tclk low time 8 8 8 ns 8 tclk t tch tclk high time 8 8 8 ns 9 tclk t tcr rise time of tclk cl = 50 pf 0 0 0 8 ns 10 tclk t tcf fall time of tclk 0 0 0 8 ns 11 td t tdp td data propagation delay after the falling edge of tclk cl = 50 pf 13 ns 12 td t tdh td data hold time after the falling edge of tclk 555 ns MK50H25 44/64
ac timing specifications (continued) - MK50H25 -16 t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. no signal symbol parameter notes min. typ. max. units 13 rclk t rct rclk period 20 ns 14 rclk t rch rclk high time 8 ns 15 rclk t rcl rclk low time 8 ns 16 rclk t rcr rise time of rclk 0 8 ns 17 rclk t rcf fall time of rclk 0 8 ns 18 rd t rdr rd data rise time 0 8 ns 19 rd t rdf rd data fall time 0 8 ns 20 rd t rdh rd hold time after rising edge of rclk 2 ns 21 rd t rds rd setup time prior to rising edge of rclk 8ns 22 ale/das t doff bus master driver disable output delay 0 40 ns 23 ale/das t don bus master driver enable after rising edge t1 sysclk output delay 0 40 ns 24 hlda t hha delay to falling edge of hlda from falling edge of hold (bus master) 0ns 25 hlda t hlah hlda input setup time 20 ns 26 hlda t hlas delay to rising edge hlda from rising edge hold 20 ns 27 a t xas address setup time output delay 30 ns 28 a t xah address hold time output delay 25 ns 29 dal t as address setup time output delay 35 ns 30 dal t ah address hold time output delay 0 25 ns 31 dal t rdas data setup time (bus master read) 20 ns 32 dal t rdah data hold time (bus master read) 10 ns 33 dal t wah address hold time (bus master write) output delay 15 ns 34 dal t wds data setup time (bus master write) output delay 25 ns 35 dal t wdh data hold time (bus master write) output delay 25 ns 36 dal t srds data setup time (bus slave read) 25 ns 37 dal t srdh data hold time (bus slave read) 25 ns 38 dal t swdh data hold time (bus slave write) 10 ns 39 dal t swds data setup time (bus slave write) 10 ns 40 ale t ales ale setup time output delay 30 ns 41 ale t alhb ale hold time (asserted to de- asserted) (dma burst) output delay 20 ns 42 ale t alhs ale hold time (asserted to 3-state) (single dma cycle) output delay 20 ns 43 das t dass das setup time from falling edge of t2 sysclk (bus master) output delay 25 ns 44 das t dash das hold time from rising edge of sysclk (bus master) output delay 5 15 ns 45 dali/dalo bm)/bm1 t bmde bus master driver enable (from 3- state to driven) (bus master) output delay 25 ns 46 dali t ris dali setup time (bus master read) output delay 15 ns 47 dali t rih dali hold time (bus master read) output delay 5 25 ns 48 dali t bmdd bus master driver disable (from driven to 3-state) (bus master) output delay 20 ns MK50H25 -16 MK50H25 45/64
MK50H25 -16 ac timing specifications (continued) - MK50H25 -16 t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. no signal symbol parameter notes min. typ. max. units 49 dalo t ros dalo setup time (bus master read) output delay 30 ns 50 dalo t roh dalo hold time (bus master read) output delay 30 ns 52 cs t csh cs hold time 10 ns 53 cs t css cs setup time 10 ns 54 adr t sah adr hold time 10 ns 55 adr t sas adr setup time 10 ns 56 das t sdas das input setup time (bus slave) 10 ns 57 das t sdsh das input hold time (bus slave) 10 ns 58 ready t rdys ready setup time (bus slave) output delay 15 ns 59 ready t sryh ready hold time after rising edge of das (bus slave read) 20 ns 60 ready t rsh ready setup time (bus master) 20 ns 61 ready t srs ready hold time (bus master) 12 ns 62 read t reds read setup time (bus slave) 10 ns 63 read t redh read hold time (bus slave) 10 ns 64 hold t hlds hold setup time (bus master) output delay 20 ns 65 hold t hldh hold hold time (bus master) output delay 40 ns MK50H25 46/64
ac timing specifications (continued) - MK50H25 -25 t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. no signal symbol parameter notes min. typ. max. units 13 rclk t rct rclk period 20 ns 14 rclk t rch rclk high time 8 ns 15 rclk t rcl rclk low time 8 ns 16 rclk t rcr rise time of rclk 0 8 ns 17 rclk t rcf fall time of rclk 0 8 ns 18 rd t rdr rd data rise time 0 8 ns 19 rd t rdf rd data fall time 0 8 ns 20 rd t rdh rd hold time after rising edge of rclk 2 ns 21 rd t rds rd setup time prior to rising edge of rclk 8ns 22 ale/das t doff bus master driver disable output delay 0 20 ns 23 ale/das t don bus master driver enable after rising edge t1 sysclk output delay 0 20 ns 24 hlda t hha delay to falling edge of hlda from falling edge of hold (bus master) 0ns 25 hlda t hlah hlda input setup time 10 ns 26 hlda t hlas delay to rising edge hlda from rising edge hold 10 ns 27 a t xas address setup time output delay 30 ns 28 a t xah address hold time output delay 20 ns 29 dal t as address setup time output delay 35 ns 30 dal t ah address hold time output delay 0 20 ns 31 dal t rdas data setup time (bus master read) 15 ns 32 dal t rdah data hold time (bus master read) 10 ns 33 dal t wah address hold time (bus master write) output delay 15 ns 34 dal t wds data setup time (bus master write) output delay 25 ns 35 dal t wdh data hold time (bus master write) output delay 25 ns 36 dal t srds data setup time (bus slave read) 25 ns 37 dal t srdh data hold time (bus slave read) 25 ns 38 dal t swdh data hold time (bus slave write) 10 ns 39 dal t swds data setup time (bus slave write) 10 ns 40 ale t ales ale setup time output delay 30 ns 41 ale t alhb ale hold time (asserted to de- asserted) (dma burst) output delay 15 ns 42 ale t alhs ale hold time (asserted to 3-state) (single dma cycle) output delay 20 ns 43 das t dass das setup time from falling edge of t2 sysclk (bus master) output delay 25 ns 44 das t dash das hold time from rising edge of sysclk (bus master) output delay 5 15 ns 45 dali/dalo bm)/bm1 t bmde bus master driver enable (from 3- state to driven) (bus master) output delay 25 ns 46 dali t ris dali setup time (bus master read) output delay 15 ns 47 dali t rih dali hold time (bus master read) output delay 25 ns 48 dali t bmdd bus master driver disable (from driven to 3-state) (bus master) output delay 20 ns MK50H25 -25 MK50H25 47/64
MK50H25 -25 ac timing specifications (continued) - MK50H25 -25 t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. no signal symbol parameter notes min. typ. max. units 49 dalo t ros dalo setup time (bus master read) output delay 30 ns 50 dalo t roh dalo hold time (bus master read) output delay 30 ns 52 cs t csh cs hold time 10 ns 53 cs t css cs setup time 10 ns 54 adr t sah adr hold time 10 ns 55 adr t sas adr setup time 10 ns 56 das t sdas das input setup time (bus slave) 10 ns 57 das t sdsh das input hold time (bus slave) 10 ns 58 ready t rdys ready setup time (bus slave) output delay 15 ns 59 ready t sryh ready hold time after rising edge of das (bus slave read) 15 ns 60 ready t rsh ready setup time (bus master) 18 ns 61 ready t srs ready hold time (bus master) 10 ns 62 read t reds read setup time (bus slave) 10 ns 63 read t redh read hold time (bus slave) 10 ns 64 hold t hlds hold setup time (bus master) output delay 15 ns 65 hold t hldh hold hold time (bus master) output delay 35 ns MK50H25 48/64
ac timing specifications (continued) - MK50H25 -33 t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. no signal symbol parameter notes min. typ. max. units 13 rclk t rct rclk period 20 ns 14 rclk t rch rclk high time 8 ns 15 rclk t rcl rclk low time 8 ns 16 rclk t rcr rise time of rclk 0 8 ns 17 rclk t rcf fall time of rclk 0 8 ns 18 rd t rdr rd data rise time 0 8 ns 19 rd t rdf rd data fall time 0 8 ns 20 rd t rdh rd hold time after rising edge of rclk 2 ns 21 rd t rds rd setup time prior to rising edge of rclk 8ns 22 ale/das t doff bus master driver disable output delay 0 20 ns 23 ale/das t don bus master driver enable after rising edge t1 sysclk output delay 0 20 ns 24 hlda t hha delay to falling edge of hlda from falling edge of hold (bus master) 0ns 25 hlda t hlah hlda input setup time 10 ns 26 hlda t hlas delay to rising edge hlda from rising edge hold 10 ns 27 a t xas address setup time output delay 25 ns 28 a t xah address hold time output delay 20 ns 29 dal t as address setup time output delay 30 ns 30 dal t ah address hold time output delay 0 20 ns 31 dal t rdas data setup time (bus master read) 13 ns 32 dal t rdah data hold time (bus master read) 8 ns 33 dal t wah address hold time (bus master write) output delay 15 ns 34 dal t wds data setup time (bus master write) output delay 25 ns 35 dal t wdh data hold time (bus master write) output delay 25 ns 36 dal t srds data setup time (bus slave read) 25 ns 37 dal t srdh data hold time (bus slave read) 25 ns 38 dal t swdh data hold time (bus slave write) 10 ns 39 dal t swds data setup time (bus slave write) 10 ns 40 ale t ales ale setup time output delay 25 ns 41 ale t alhb ale hold time (asserted to de- asserted) (dma burst) output delay 15 ns 42 ale t alhs ale hold time (asserted to 3-state) (single dma cycle) output delay 20 ns 43 das t dass das setup time from falling edge of t2 sysclk (bus master) output delay 20 ns 44 das t dash das hold time from rising edge of sysclk (bus master) output delay 5 15 ns 45 dali/dalo bm)/bm1 t bmde bus master driver enable (from 3- state to driven) (bus master) output delay 20 ns 46 dali t ris dali setup time (bus master read) output delay 15 ns 47 dali t rih dali hold time (bus master read) output delay 20 ns 48 dali t bmdd bus master driver disable (from driven to 3-state) (bus master) output delay 20 ns MK50H25 -33 MK50H25 49/64
MK50H25 -33 ac timing specifications (continued) - MK50H25 -33 t a =0 cto70 c, v cc =+5v 5 percent, unless otherwise specified. no signal symbol parameter notes min. typ. max. units 49 dalo t ros dalo setup time (bus master read) output delay 25 ns 50 dalo t roh dalo hold time (bus master read) output delay 25 ns 52 cs t csh cs hold time 10 ns 53 cs t css cs setup time 10 ns 54 adr t sah adr hold time 10 ns 55 adr t sas adr setup time 10 ns 56 das t sdas das input setup time (bus slave) 10 ns 57 das t sdsh das input hold time (bus slave) 10 ns 58 ready t rdys ready setup time (bus slave) output delay 15 ns 59 ready t sryh ready hold time after rising edge of das (bus slave read) 15 ns 60 ready t rsh ready setup time (bus master) 15 ns 61 ready t srs ready hold time (bus master) 10 ns 62 read t reds read setup time (bus slave) 10 ns 63 read t redh read hold time (bus slave) 10 ns 64 hold t hlds hold setup time (bus master) output delay 15 ns 65 hold t hldh hold hold time (bus master) output delay 30 ns MK50H25 50/64
c l 0.4 ma cr cr cr cr 1 2 3 4 r1 = 1.2k cr1 - cr4 = 1n914 or equiv test point from output under test r1 = 1.4k c l vcc vcc c = 50pf min @ 1 mhz l from output under test note: this load is used on all outputs except intr, hold, ready. note: this load is used on open drain outputs intr, hold, ready. figure 5a: ttl output load diagram figure 5b : open drain output load diagram rclk 13 15 14 16 17 21 20 19 18 rd 12 6 87 10 11 9 td tclk o0o o.8 v o.8 v 90 % o1o 2.0 v 2.0 v 10 % output input float timing measurements are made at the following voltages, unless otherwise specified: figure 6: MK50H25 serial link timing diagram MK50H25 51/64
a 16-23 ale sysclk address bm0,1 ready das hlda hold notes: 2. output delay times are the maximum delay from the specifed edge to a valid output. 3. the bus master cycle time will increase from a minimum, in 1 sysclk increments until the slave device returns ready. 64 24 25 65 26 27 40 23 23 43 44 41 42 28 22 60 61 t0 t1 t2 t3 t4 t5 t6 dal0-15 read dalo dali 29 30 50 32 45 data in addr 31 49 48 47 46 48 1. the shaded sysclk periods t0 and t5 will be removed when setting csr2 bit 15, cycle =1 to select the shorter dma cycle as shown in figure 7a. figure 7: MK50H25 bus master timing (read) (for cycle = 0, csr2<15>) MK50H25 52/64
a 16-23 ale sysclk bm0,1 ready das hlda hold 64 24 25 65 26 27 40 23 23 44 41 42 28 22 t1 t2 t3 t4 t5 dal0-15 read dalo dali 29 30 50 32 45 data in addr 31 49 48 47 46 48 address 60 61 43 notes: 2. output delay times are the maximum delay from the specifed edge to a valid output. 3. the bus master cycle time will increase from a minimum, in 1 sysclk increments until the slave device returns ready. 1. this reduced dma cycle time is selected by setting csr2 bit 15, cycle =1. figure 7a: MK50H25 reduced cycle bus master timing (read) (for cycle = 1, csr2<15>) MK50H25 53/64
a 16-23 ale sysclk address bm0,1 ready das hlda hold notes: 2. output delay times are the maximum delay from the specifed edge to a valid output. 3. the bus master cycle time will increase from a minimum, in 1 sysclk increments until the slave device returns ready. 64 24 25 65 26 27 40 23 23 43 44 41 42 28 22 60 61 48 48 t0 t1 t2 t3 t4 t5 t6 data addr dal0-15 read dalo dali 29 34 33 35 45 1. the shaded sysclk periods t0 and t5 will be removed when setting csr2 bit 15, cycle =1 to select the shorter dma cycle as shown in figure 8a. figure 8: MK50H25 bus master timing diagram (write) (for cycle = 0, csr2<15>) MK50H25 54/64
a 16-23 ale sysclk bm0,1 ready das hlda hold 25 65 26 27 40 23 23 43 44 41 42 28 22 60 61 48 48 t1 t2 t3 t4 t5 data addr dal0-15 read dalo dali 29 34 33 35 45 address 64 24 notes: 2. output delay times are the maximum delay from the specifed edge to a valid output. 3. the bus master cycle time will increase from a minimum, in 1 sysclk increments until the slave device returns ready. 1. this reduced dma cycle time is selected by setting csr2 bit 15, cycle = 1. times t0 and t5 from the standard dma cycle are removed for this reduced timing. figure 8a: MK50H25 reduced cycle bus master timing (write) (for cycle = 1, csr2<15>) MK50H25 55/64
a 16-23 ale sysclk bm0,1 ready das hlda hold 25 27 40 23 23 43 44 27 t1 t2 t3 t4 t5 dal0-15 read dalo dali 29 45 address 64 24 65 26 41 42 22 61 48 t1 t2 t3 t4 t5 address 40 41 43 44 60 data addr 34 33 48 35 34 data addr 29 61 60 28 figure 8b: bus master burst timing (reduced cycle - write) MK50H25 56/64
sysclk adr ready dal data out cs das read (read) 0-15 1. input setup and hold times are in minimum values required to or from the particular edge specified in order to be recognized in that cycle. 2. output delay times are from the specified edge to a valid output. notes: 53 52 55 54 56 57 58 59 62 63 36 37 figure 9: MK50H25 bus slave timing diagram (read) MK50H25 57/64
sysclk adr das read (write) dal0-15 data in cs ready 1. input setup and hold times are the minimum values required to or from the particular edge specified in order to be recognized in that cycle. 2. output delay times are from the specified edge to a valid output. notes: 53 52 54 55 56 57 58 59 62 63 39 38 figure 10: MK50H25 bus slave timing diagram (write) MK50H25 58/64
ordering information MK50H25 q xx speed sort 16 = 16mhz sysclk 25 = 25mhz sysclk 33 = 33mhz sysclk package n = plastic dip (48 pins) q = plastic j-leaded cip carrier (52 pins) -84q = 84 plcc for use with external rom part# protocol 50h25 = lapb MK50H25 59/64
dip48 package mechanical data dim. mm inch min. typ. max. min. typ. max. a1 0.63 0.025 b 0.45 0.018 b1 0.23 0.31 0.009 0.012 b2 1.27 0.050 d 62.74 2.470 e 15.2 16.68 0.598 0.657 e 2.54 0.100 e3 58.42 2.300 f 14.1 0.555 i 4.445 0.175 l 3.3 0.130 MK50H25 60/64
plcc52 package mechanical data dim. mm inch min. typ. max. min. typ. max. a 4.20 5.08 0.165 0.20 a1 0.51 0.020 a3 2.29 3.30 0.090 0.13 b 0.33 0.53 0.013 0.021 b1 0.66 0.81 0.026 0.032 c 0.25 0.01 d 19.94 20.19 0.785 0.795 d1 19.05 19.20 0.750 0.756 d2 17.53 18.54 0.690 0.730 d3 15.24 0.60 e 19.94 20.19 0.785 0.795 e1 19.05 19.20 0.750 0.756 e2 17.53 18.54 0.690 0.730 e3 15.24 0.60 e 1.27 0.05 l 0.64 0.025 l1 1.53 0.060 m 1.07 1.22 0.042 0.048 m1 1.07 1.42 0.042 0.056 MK50H25 61/64
plcc84 package mechanical data see following page for plcc84 pin description dim. mm inch min. typ. max. min. typ. max. a 4.20 5.08 0.165 0.20 a1 0.51 0.020 a3 2.29 3.30 0.090 0.13 b 0.33 0.53 0.013 0.021 b1 0.66 0.81 0.026 0.032 c 0.25 0.01 d 30.10 30.35 1.185 1.195 d1 29.21 29.41 1.150 1.158 d2 27.69 28.70 1.090 1.130 d3 25.40 1.00 e 30.10 30.35 1.185 1.195 e1 29.21 29.41 1.150 1.158 e2 27.69 28.70 1.090 1.130 e3 25.40 1.00 e 1.27 0.05 l 0.64 0.025 l1 1.53 0.060 m 1.07 1.22 0.042 0.048 m1 1.07 1.42 0.042 0.056 MK50H25 62/64
MK50H25 plcc84 pin description pin signal name pin signal name 1 vss 43 nc 2 eromen - external rom enable 44 tclk 3 dal07 45 dtr 4 nc 46 eroma0 5 dal06 47 rclk 6 eromd11 48 eroma1 7 dal05 49 sysclk 8 dal04 50 td 9 dal03 51 eroma2 10 eromd10 52 dsr/cts 11 dal02 53 rd 12 dal01 54 eroma3 13 dal00 55 a23 14 eromd09 56 eroma4 15 read 57 a22 16 eromd08 58 eroma5 17 intr 59 a21 18 dali 60 nc 19 dalo 61 a20 20 nc 62 nc 21 vss 63 a19 22 nc 64 vss 23 eromd07 65 a18 24 das 66 a17 25 eromd06 67 eroma6 26 bm0 68 a16 27 eromd05 69 eroma7 28 bm1 70 dal15 29 hold 71 dal14 30 eromd04 72 eroma8 31 ale 73 dal13 32 hlda 74 dal12 33 eromd03 75 eroma9 34 cs 76 dal11 35 eromd02 77 eroma10 36 adr 78 dal10 37 eromd01 79 eroma11 38 ready 80 dal09 39 eromd00 81 eroma12 (eitest) 40 reset 82 dal08 41 vcc 83 eromaen - ext. rom address enable 42 vss 84 vcc MK50H25 63/64
information furnished is believed to be accurate and reliable. however, sgs-thomson microelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. no license is granted by implication or otherwise under any patent or patent rights of sgs-thomson microelectronics. specifications men- tioned in this publication are subject to change without notice. this publication supersedes and replaces all information previously supplied. sgs-thomson microelectronics products are not authorized for use as critical components in life support devices or systems without ex- press written approval of sgs-thomson microelectronics. ? 1996 sgs-thomson microelectronics all rights reserved sgs-thomson microelectronics group of companies australia - brazil - france - germany - hong kong - italy - japan - korea - malaysia - malta - morocco - the netherlands - singapore - spain - sweden - switzerland - taiwan - thaliand - united kingdom - u.s.a. MK50H25 64/64


▲Up To Search▲   

 
Price & Availability of MK50H25

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X